Systems and methods for automated derivation of interactive layers for fixed content

ABSTRACT

Systems and methods for implementing fixed-layout display components embedded as part of a screen display of a device. In preferred embodiments, fixed-layout components may be utilized and managed independently of the remaining programmatically generated screen display functionality. A fixed-layout component may comprise a plurality of elements and be associated with user interactivities. Each element may be related positionally, dimensionally and display sequence to an overall component and to other elements comprised such that a computed relative position, size and dimension aspect ratio of component items and the item display sequence is maintained programmatically and visually relative to each other irrespective of a screen size or orientation when the fixed-layout component is part of an overall display of a device. The fixed-layout elements may further be operable to display dynamic data which may be logically associated with data comprised within the overall fixed-layout component.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 17/489,769 titled, “SYSTEMS AND METHODS FOR INTELLIGENT LAYERED INTERACTIVE DERIVED PROGRAMMATIC ELEMENTS FOR FIXED CONTENT”, filed on Sep. 29, 2021 is a continuation of U.S. patent application Ser. No. 17/062,607, titled, “SYSTEMS AND METHODS FOR INTELLIGENT LAYERED INTERACTIVE DERIVED PROGRAMMATIC ELEMENTS FOR FIXED CONTENT”, filed on Oct. 4, 2020, which is a continuation-in-part of U.S. patent application Ser. No. 16/426,968, titled, “SYSTEMS AND METHODS FOR INTELLIGENT LAYERED INTERACTIVE PROGRAMMATIC ELEMENTS FOR FIXED CONTENT”, filed on May 30, 2019 which is a continuation of U.S. patent application Ser. No. 15/873,905, titled, “SYSTEMS AND METHODS FOR INTELLIGENT LAYERED INTERACTIVE PROGRAMMATIC ELEMENTS FOR FIXED CONTENT”, filed on Jan. 18, 2018 which claims priority to U.S. provisional application 62/447,459, titled, “SYSTEM AND METHODS FOR CREATING AND UTILIZING INDEPENDENT FIXED-LAYOUT DISPLAY COMPONENT(s) FOR SOFTWARE APPLICATION(s) USER INTERFACE AND DEVICE INDEPENDENT”, filed on Jan. 18, 2017. The disclosures of all above applications are incorporated herein by reference.

BACKGROUND OF THE INVENTION Field of the Art

The disclosure relates to the field of systems interactivity, and more particularly to the field enabling fixed-layout content to receive input and communication with interactive systems.

Discussion of the State of the Art

Content (text, graphics, photos, images, and/or any combination thereof) may be developed in a wide variety of content or general authoring applications at present. This content may then be printed or exported out to a variety of formats depending on the feature/functions of the original source content or authoring user application. This content, which is already authored and available may be required, specifically in business environments, to be re-used in other application software systems or servers comprising database(s), file storage systems, workflow and other logic operations. Various methods may be available to export out this content from these authoring applications so that it may be re-used in some way for these other purposes. The content export approach from these source/authoring applications may be dependent on the available functions within these source application which create, and is often typically via an option (a) comprising all the elements at their lowest level (text, graphics, photos, images, etc.) or via an Option (b) comprising an overall graphic image (i.e. snapshot) which preserves the original content layout exactly as it would be presented visually to an end user in an associated original source application, via some combination of Option (a) and (b), or via some other processes. If option (a) is available, it may require additional manual efforts to extract and then condition and clean the content so that it is re-useable in the mentioned systems, whereby these manual efforts will result in additional time and associated cost. If option (b) is used, this will result in fixed-layout content image(s) being exported, and if the user then wishes to extract out some or all of the elements (text, graphics, photos, images, etc.), they may need further additional content extraction tools, e.g. optical character recognition (OCR), combined with a plurality of manual efforts to extract and clean the elements for re-use, which results in incurring significantly more time and cost as compared to option (a). Any further combinations of options (a) and (b), or other derivative methods, may also drive additional time effort and cost to complete. Manual time effort and cost problem may become a very large problem if the volume of content is high. It is typical for business enterprises to have tens of thousands, if not millions, of pages of content where there is a pressing requirement to re-use this content in application software and server systems with databases, file systems, workflow management systems, and/or other logic systems as outlined previously, which amplifies the problem. Typically replacing this content into an interactive form requires an unreasonable amount of time and cost, and in some cases, there are mandatory requirements to exactly preserve the original content layout precisely (i.e. precise fixed-layout content). Accordingly, many business enterprises choose option (b) described above, incurring additional time and huge costs to complete. Fixed-layout content is defined as being a precise and accurate (for example, pixel by pixel, or using an alternative unit of measure) representing the original source authored content.

The above methods are focused on exporting or extracting and or conditioning content for further re-use and combining this with logic to arrive at new systems and server applications, and to deliver new user experiences for the end user. Accordingly, content extraction, conditioning, and re-use methods, known in the art, incur time and cost to complete. Further, some options outlined above provide less flexibility for content re-use than others in the creation of new application processes and systems and servers.

What is needed are systems and methods to easily extract and combine extracted content with programmatic elements to programmatic systems and servers in a way that: (a) significantly reduces time (including manual additional processes) and associated cost for extraction and conditioning of content; (b) allows for original source content to be combined easily with programmatic element systems and servers; (c) allows separated control and behavior of the extracted content compared to programmatic elements; (d) allows for easy association of programmatic elements to extracted content; and, (e) supports size scaling of extracted content such that all associated programmatic elements automatically and dynamically re-size/re-scale relative to other programmatic elements within the extracted content while acting independently of programmatic system and servers.

SUMMARY OF THE INVENTION

Accordingly, the inventor has conceived and reduced to practice, in various embodiment of the invention, systems and methods to programmatically generate and managing embedded fixed-layout component(s), and direct associated items or user interactivities into a display component of a computer system user interface, that may behave independently of other programmatically generated display components. A preferred embodiment of the invention relates to the use of taking fixed-layout content as discussed in the background to enable re-usable content with significantly greater user functionality and reduced time and associated cost to prepare. Interaction may be received from a user device though various elements and associated interactivities that may be configured as part of these specific component(s). A network-connected component layout computer comprising a processor, a database, a memory, and programming instructions stored in the memory, the programming instructions, when executed by the processor may dynamically generate and manage a plurality of fixed-layout components that may be part of a computer system interface whereby the interface may behave in a seamless manner when displayed to a user. That is, a user may not notice a difference between fixed and programmatic components. The plurality of fixed-layout components may be independent and may behave independently of the other programmatic elements of computer systems across a range of devices, display sizes, display orientations, and/or underlying system operating system.

In some embodiments, one or more fixed-layout components may be integrated within online or native installed user device applications executing on a display of a computing system. In some embodiments, there may be many fixed-layout content components embedded in the overall user interface display.

The one or more fixed-layout components, and direct associated items may be linked to each other (within the component) via associated dimensions and positional data and may be collectively referred to hereinafter as referred to as, “component”.

In some embodiments, one or more fixed-layout components and direct associated elements may proportionally re-scale, in size, exactly and relative to each other, depending on the screen size of a user interface display of a target computer device; and may be independent of other re-scaling and re-alignments performed by remaining elements of the user interface.

An embedding approach for fixed-layout components and direct associated items may provide an additional method of building a component of a computer system user interface that may be then seamlessly embedded into an overall programmatic derived user interface display. This fixed-layout component inclusion in a user interface provides an alternative and fast method to having to programmatically recreate content elements in a manner (for example, from digital print media) that may exactly replicate, including aspect ratio, positional data, original content item, and which may behave independently of the programmatic display for a user device or orientation. Direct associated elements may then be directly linked to this fixed-layout component for additional user visual presentation and additional interactions received from user devices. In some embodiments, direct associated elements may also support interactions received from a user device with an ability to receive user-entered data that may then be re-associated with the one or more fixed-layout components.

In some embodiments, the user interface comprising the fixed-layout component and the direct associated elements may be displayed on a computing device for example, via an online application or a native device installed application, and an associated one or more fixed-layout components and associated elements may present a same proportion, position, and dimension, independently of properties (size, display, orientation, etc.) of the user device.

Exemplary embodiments of the systems and methods described herein comprise generation of one or more fixed-layout components, assemblage, and usage of the components while providing reliance on positional and dimensional (and other data types) for at least a portion of the items comprised within each fixed-layout component.

BRIEF DESCRIPTION OF THE DRAWING FIGURES

The accompanying drawings illustrate several embodiments of the invention and, together with the description, serve to explain the principles of the invention according to the embodiments. It will be appreciated by one skilled in the art that the particular embodiments illustrated in the drawings are merely exemplary and are not to be considered as limiting of the scope of the invention or the claims herein in any way.

FIGS. 1A and 1B illustrate an exemplary user device screen detailing the programmatic display area and an embedded fixed-layout component display, according to an embodiment of the invention;

FIGS. 2A and 2B illustrate an exemplary expanded view of a fixed-layout display component, according to an embodiment of the invention;

FIG. 3 illustrates an exemplary definition of dimensions of a plurality of fixed-layout component according to an embodiment of the invention.

FIG. 4 illustrates an exemplary definition of dimensions of a plurality of element items areas that may be part of a fixed-layout component display, according to an embodiment of the invention;

FIGS. 5A and 5B illustrate an example of positional dimensions of an element area in relation to a defined reference location on an overall fixed-layout component area, according to an embodiment of the invention;

FIGS. 6B and 6B illustrate examples of different reference position location for a plurality of elements and a reference position location for the overall fixed-layout component area, according to an embodiment of the invention;

FIGS. 7A and 7B illustrate an example of interactivity between element areas and calculation of position and dimensions, according to an embodiment of the invention;

FIG. 8A illustrates an example of the various data stores associated with items as part of one or more fixed-layout area display components, according to an embodiment of the invention;

FIG. 8B illustrates an example of the various data stores (including the Variable Rules) associated with items as part of one or more fixed-layout area display components, according to an embodiment of the invention;

FIG. 9 is a high-level flow diagram illustrating an exemplary process for calculation of dimension data for items which may be part of a fixed-layout component area, according to an embodiment of the invention;

FIGS. 10A, 10B, and 10C illustrate an example of a fixed area window which may be part of the overall user programmatic display window in a display screen, according to an embodiment of the invention;

FIG. 11 illustrates a plurality of exemplary fixed-layout windows and a component comprised therein as it is repositioned and automatically resized in various device screens sizes, according to an embodiment of the invention;

FIG. 12 illustrates various examples of a fixed-layout window and a fixed-layout component comprised inside a display screen as it is repositioned and resized according to one specific device screens in different orientations, according to an embodiment of the invention;

FIG. 13 illustrates an exemplary interaction between a user device interacts and a server system in the context of an online connected software program, according to an embodiment of the invention;

FIG. 14 illustrates an exemplary interaction between a user device comprising a full application program and an online server system, according to an embodiment of the invention;

FIG. 15 is a high-level flow diagram illustrating an exemplary process for programmatically loading and displaying a plurality of and fixed-layout components, according to an embodiment of the invention;

FIGS. 16A and 16B illustrate an exemplary embodiment of a fixed-layout component combined with programmatic display elements on a tablet user device screen with a plurality of orientations, according to an embodiment of the invention;

FIG. 16C illustrate another exemplary embodiment of a fixed-layout component combined with programmatic display elements on a mobile device with interactive variable components, according to an embodiment of the invention;

FIGS. 17A and 17B illustrate exemplary system components which may be used with the system, according to an embodiment of the invention;

FIG. 18A illustrates an exemplary embodiment of a fixed-layout component which may comprise a fixed-layout content background area, and any number of digital graphics (to make up a full or partial area), visual items (text, pictures, etc.), that may comprise a plurality of highlighted areas embedded as part of any number of digital graphics, according to an embodiment of the invention;

FIG. 18B illustrates an exemplary embodiment of fixed layout component which may comprise a fixed-layout content background area, and any number of digital graphics (to make up a full or partial area), visual items (text, pictures, etc.), that may comprise a plurality of highlighted areas embedded as part of any number of digital graphics, and wherein a new derived element area is illustrated, according to an embodiment of the invention;

FIG. 18C illustrates another exemplary embodiment of a fixed-layout component comprising the fixed-layout content background area, one or more digital graphics, visual items that may comprise one or more highlighted areas embedded as part of any number of digital graphics, and computations of one or more derived areas, according to an embodiment of the invention;

FIG. 18D illustrates another exemplary embodiment of a fixed-layout component comprising the fixed-layout content background area, one or more digital graphics, visual items that may comprise one or more highlighted areas embedded as part of any number of digital graphics, and wherein derived areas examples are shown, according to an embodiment of the invention;

FIG. 18E to 18G illustrates exemplary embodiments of a fixed-layout component comprising the fixed-layout content background area, one or more digital graphics, visual items that may comprise one or more highlighted areas with different borders embedded as part of the one or more digital graphics, and wherein derived areas are found and shown according to various embodiments of the invention;

FIG. 18H illustrates an exemplary embodiment of a fixed-layout component comprising the fixed-layout content background area, one or more digital graphics, visual items that may comprise one or more highlighted areas with different borders embedded as part of the one or more digital graphics, and wherein a found element area is spread across different areas in the background area, according to an embodiment of the invention;

FIG. 18I illustrates an exemplary embodiment of a fixed-layout component comprising the fixed-layout content background area, one or more digital graphics, visual items that may comprise one or more highlighted areas with different borders embedded as part of the one or more digital graphics, whereby the highlighted areas comprise at least one border coinciding with an edge of the fixed-layout component, according to an embodiment of the invention;

FIG. 18J illustrates an exemplary embodiment of a fixed-layout component comprising the fixed-layout content background area, one or more digital graphics, visual items that may comprise one or more highlighted areas with different borders embedded as part of the one or more digital graphics, further comprising different derived area calculations whereby one or more border edges are shown, further comprising different settings for calculated derived areas, according to an embodiment of the invention;

FIG. 18K illustrates an exemplary embodiment of a fixed-layout component comprising the fixed-layout content background area, one or more digital graphics, visual items that may comprise one or more highlighted areas with different borders embedded as part of the one or more digital graphics, further comprising variable label items on the background area, and with linked variable data items displayed within the display properties of found or derived areas in a layer on the background area according to an embodiment of the invention;

FIG. 19A is a high-level flow diagram illustrating an exemplary process for an automatic finding and calculation of element item areas and associated data for data stores, according to an embodiment of the invention;

FIG. 19B is another high-level flow diagram illustrating another exemplary process for an automatic finding and calculation of found or derived element (or both) item areas using configurable search logic and with associated data for data stores, according to an embodiment of the invention;

FIG. 20 is a block diagram illustrating an exemplary hardware architecture of a computing device used in an embodiment of the invention;

FIG. 21 is a block diagram illustrating an exemplary logical architecture for a client device, according to an embodiment of the invention;

FIG. 22 is a block diagram showing an exemplary architectural arrangement of clients, servers, and external services, according to an embodiment of the invention;

FIG. 23 is another block diagram illustrating an exemplary hardware architecture of a computing device used in various embodiments of the invention;

FIG. 24A is a block diagram illustrating an exemplary system architecture for exporting fixed-layout content items and associated data stores, according to an embodiment of the invention;

FIG. 24B is another block diagram illustrating an exemplary system architecture for exporting fixed-layout content items and associated data stores, according to an embodiment of the invention;

FIG. 25 is a flow diagram illustrating an exemplary process for finding and automatically configuring element areas (single areas and area ranges) that are outlined on or in fixed-layout content items and associated data stores, according to an embodiment of the invention;

FIG. 26A is a flow diagram illustrating an exemplary process for layering additional objects, or object areas, over fixed-layout content items and associated data stores, according to an embodiment of the invention;

FIG. 26B is a flow diagram illustrating another exemplary process for layering additional objects, or object areas, over fixed-layout content items and associated data stores, configuring found and derived element areas, and configuring specific search logic, according to an embodiment of the invention;

FIG. 27A is a flow diagram illustrating an exemplary process for automatically finding an element area inside a figure outline which is embedded in a fixed-layout content item, according to an embodiment of the invention;

FIG. 27B is a flow diagram illustrating another exemplary process for automatically finding an element area inside a figure outline which is embedded in a fixed-layout content item using configurable search logic, according to an embodiment of the invention;

FIG. 28 is a block diagram illustrating an exemplary process for retrieving and displaying fixed-layout components as part of overall application systems, according to an embodiment of the invention.

FIG. 29 is a flow diagram illustrating an exemplary process for automatic processing of data rules associated with found or derived element areas, according to an embodiment of the invention.

DETAILED DESCRIPTION

The inventor has conceived, and reduced to practice, systems and methods of programmatically generating and managing a plurality of embedded fixed-layout components and associated items into a display component of a computer system user interface.

One or more different inventions may be described in the present application. Further, for one or more of the inventions described herein, numerous alternative embodiments may be described; it should be appreciated that these are presented for illustrative purposes only and are not limiting of the inventions contained herein or the claims presented herein in any way. One or more of the inventions may be widely applicable to numerous embodiments, as may be readily apparent from the disclosure. In general, embodiments are described in sufficient detail to enable those skilled in the art to practice one or more of the inventions, and it should be appreciated that other embodiments may be utilized and that structural, logical, software, electrical and other changes may be made without departing from the scope of the particular inventions. Accordingly, one skilled in the art will recognize that one or more of the inventions may be practiced with various modifications and alterations. Particular features of one or more of the inventions described herein may be described with reference to one or more particular embodiments or figures that form a part of the present disclosure, and in which are shown, by way of illustration, specific embodiments of one or more of the inventions. It should be appreciated, however, that such features are not limited to usage in the one or more particular embodiments or figures with reference to which they are described. The present disclosure is neither a literal description of all embodiments of one or more of the inventions nor a listing of features of one or more of the inventions that must be present in all embodiments.

Headings of sections provided in this patent application and the title of this patent application are for convenience only and are not to be taken as limiting the disclosure in any way.

Devices that are in communication with each other need not be in continuous communication with each other, unless expressly specified otherwise. In addition, devices that are in communication with each other may communicate directly or indirectly through one or more communication means or intermediaries, logical or physical.

A description of an embodiment with several components in communication with each other does not imply that all such components are required. To the contrary, a variety of optional components may be described to illustrate a wide variety of possible embodiments of one or more of the inventions and in order to more fully illustrate one or more aspects of the inventions. Similarly, although process steps, method steps, algorithms or the like may be described in a sequential order, such processes, methods and algorithms may generally be configured to work in alternate orders, unless specifically stated to the contrary. In other words, any sequence or order of steps that may be described in this patent application does not, in and of itself, indicate a requirement that the steps be performed in that order. The steps of described processes may be performed in any order practical. Further, some steps may be performed simultaneously despite being described or implied as occurring non-simultaneously (e.g., because one step is described after the other step). Moreover, the illustration of a process by its depiction in a drawing does not imply that the illustrated process is exclusive of other variations and modifications thereto, does not imply that the illustrated process or any of its steps are necessary to one or more of the invention(s), and does not imply that the illustrated process is preferred. Also, steps are generally described once per embodiment, but this does not mean they must occur once, or that they may only occur once each time a process, method, or algorithm is carried out or executed. Some steps may be omitted in some embodiments or some occurrences, or some steps may be executed more than once in a given embodiment or occurrence.

When a single device or article is described herein, it will be readily apparent that more than one device or article may be used in place of a single device or article. Similarly, where more than one device or article is described herein, it will be readily apparent that a single device or article may be used in place of the more than one device or article.

The functionality or the features of a device may be alternatively embodied by one or more other devices that are not explicitly described as having such functionality or features. Thus, other embodiments of one or more of the inventions need not include the device itself.

Techniques and mechanisms described or referenced herein will sometimes be described in singular form for clarity. However, it should be appreciated that particular embodiments may include multiple iterations of a technique or multiple instantiations of a mechanism unless noted otherwise. Process descriptions or blocks in figures should be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process. Alternate implementations are included within the scope of embodiments of the present invention in which, for example, functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those having ordinary skill in the art.

The following description is presented to enable any person skilled in the art to make and use the present invention and is provided in the context of various embodiments and their requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments without departing from the spirit of the scope of present embodiments. Thus, the invention is not limited to the embodiments shown, but the present embodiments are to be accorded the widest scope consistent with the principles and features disclosed herein.

The disclosed technology and methods address the need in the art for creating and utilizing fixed-layout component package(s) which may then be embedded in the overall programmatic user device interface to create one overall interaction for the user. Certain embodiments of the present invention relate to how fixed-layout display component(s) may be created, embedded and managed across a wide range of user devices and device types, and where component(s) may be displayed consistently (e.g. aspect ratio, positioning, display layer sequence etc.) irrespective of the device type and orientation, and which is independent of the overall programmatic display user interface. The user may interact with data elements which may be comprised within the fixed-layout component and which are linked positionally to the underlying fixed-layout component layout area via the defined component specific data. The fixed-layout area component may be resized and repositioned across any device or orientation and where the component(s) may then display in a same consistent manner irrespective of the device screen size or orientation or user viewing area.

Definitions

Found element, as used herein, refers to an area in a fixed layout that has been found by an intelligent layering computer comprising at least a processor 41, a memory 43, and a plurality of programming instructions stored in the memory 43 and operating on the processor 41, the programming instructions, when executed by the processor, cause the processor to find element areas within a fixed-layout component comprising dimensional, positional, and display-layer data may then be referred to as element items.

User Display Layout Examples

FIG. 1A illustrates an exemplary user device screen detailing the programmatic display area and an embedded fixed-layout component display, according to an embodiment of the invention. According to the embodiment, device overall display area 100 may comprise fixed-layout display area component 102, and an area of screen 103 which is generated programmatically. The resulting overall user interface may be a combination of fixed-layout component(s) and programmatic elements.

FIG. 1B illustrates an exemplary user device screen detailing the device screen 104, the programmatic display area 110, and a number of embedded fixed-layout components 106, 107, 108, 109 displayed, according to an embodiment of the invention.

FIG. 2A illustrates an exemplary expanded view of a fixed-layout display component, according to an embodiment of the invention. According to the embodiment, fixed-layout display component 102 may be an enlarged view of 102 (referring to FIG. 1A). This fixed-layout component 102 may comprise fixed-layout component elements; area 201, and any number of associated fixed-layout element item 202, 203, 204, 205, 206, 207, 208. The fixed-area component element areas 202, 203, 204, 205, 206, 207, 208, may be fixed positionally relative to the overall area of component area 201, and therefore relative to at least a portion of other component elements referenced. The fixed-layout element areas may be comprised within the fixed area content item 201, or any programmable shape area, including rectangles, triangles, circles, and/or other shapes which may be overlaid on top of area 201. Each fixed-layout element area 202, 203, 204, 205, 206, 207, 208 may comprise one or many content items (e.g. images). The component area 201 which is visible (that is, not hidden from view by the element areas) may have a programmable generated user interactivity (e.g. data text entry, selection, etc.). Elements areas 202, 203, 204, 205, 206, 207, 208 may have a plurality of programmable generated user interactivity associations. Programmable interactivities allows additional functions on overall component area 201 or on any element 202, 203, 204, 205, 206, 207, 208 which may be associated with the overall component 102, or any combination thereof.

FIG. 2B illustrates another exemplary view of a fixed-layout display component, according to an embodiment of the invention. According to the embodiment, fixed-layout component 102 (referring to FIGS. 2A and 2B) may be an enlarged view of 102 in FIG. 1A. The component 102 may comprise fixed-layout component area 201, which may comprise any number of fixed-layout element items 211, 212, 213, and 214. According to the embodiment, the fixed-layout element items 211, 212, 213 may be partially overlapping with each other. Each fixed-layout area (that is, the overall area 201, and elements 211, 212, 213, 214) may each be associated with relevant display-layer identifier data. The display-layer identifier data may be used when the overall fixed-layout component is being displayed in a user device screen 101 (referring to at least FIG. 1A) to determine the display order or sequence of the various areas for display within the component. The display-layer identifier data may determine areas that may be visible on an interface display (for example, of a user device) and which may be partially or fully hidden from direct view (for example, by a user via the user device), as illustrated in FIG. 2B. Further according to the embodiment, overall area 201 may have, for example, a display-layer identifier=1, and area 213 and 214 may have, for example, a display-layer identifier=same as each other=2, and area 212 may have, for example, a display-layer identifier=3, and area 211 may have, for example, a display-layer identifier=4.

Dimensions General Definition

In some embodiments, at least a portion of dimensions relating to a fixed-layout component may be related to digital-imaging or digital-content and may be measured or represented in a pixel, pel, dots or picture element or other related methods for dimensions. The measurement types may, in some embodiments, relate to a physical point in a raster image, or to a smallest addressable element. For convenience, the term pixels as the exemplary definition of a dimension will be used hereinafter but noting that a wide range of other methods may also be used to achieve a similar or the same result.

For convenience, pixels may be normally arranged in a regular two-dimensional grid. The location of co-ordinates address (or other exemplary method) of a pixel will correspond to its physical coordinates within this dimensional area. All dimensions referenced may relate to a two-dimensional view.

FIG. 3 illustrates an exemplary definition of dimensions of a plurality of fixed-layout component according to an embodiment of the invention. According to the embodiment, fixed-layout component 102, fixed-layout component are 201, detailing width 301 and height 302 dimensions may be used to derive a fixed-layout component aspect-ratio (dimension width 301 divided by dimension height 302) and which may always be used in the display/redisplay of this fixed-layout component area across any device/screen and to ensure that the calculated aspect-ratio is what may always be displayed in user device screen 101, irrespective of the actual aspect ratio or orientation of a physical screen associated to user device 101.

FIG. 4 illustrates an exemplary definition of dimensions of a plurality of element items that may be part of a fixed-layout component display, according to an embodiment of the invention. According to the embodiments, fixed-layout component 102, with the fixed-layout component area 201. FIG. 4 further illustrates component element fixed area 207 detailing element width 401 and element height 402 dimensions and which may be used to derive a component element aspect-ratio (that is, dimension width 401 divided by height 402) which may be used in display/redisplay of this fixed-layout element across any device/screen as part of specific fixed-layout component 102.

FIG. 5A illustrates an example of positional 2D dimensions of an element 207 in relation to a defined reference location 509 on an overall fixed-layout component area, according to an embodiment of the invention. According to the embodiment, an exemplary method to calculate the dimensional data for elements within a component and which measure the elements size and position precisely in relation to the overall component area 201 is shown. According to the embodiment, an exemplary method to use 2D dimensional x and y axis methodology to determine specific x-y coordinates is also presented.

In FIG. 5A, the fixed-layout component reference point 501 may be any fixed location associated to component area 201. Component area 201 may have associated dimension x-Axes 502 and y-Axes 503 and direction. Accordingly, each fixed-layout element may have an associated reference point in a two-dimensional dimension display grid which may have an x-Axis 502 and a y-Axis 503. Each Axes may each have dimensional values from 0, 1 (506) to “n” (507) as for the x-Axis and from 0, 1 (504) to “n” (505) as shown for the y-Axis. Each dimension point will have an x and y dimension pair value in the x-y two-dimensional dimension grid. Further according to the embodiment, element area 207 may have associated reference point 509 displayed which may have a unique x and y co-ordinate pair values for dimension position. In this embodiment, the component reference point 501 may have a position of 0, 0 for the x, y dimension's pair. Element 207 may be positionally and dimensionally related to the component reference point 501 via the element reference height 508 and the element reference width 510 dimensions. The element 207 may have a fixed dimension size for width and height 401, 402 and position 508, 510, relative to the overall component area 201, and with size/area 301, 302. Dimension values may be derived from the corresponding x and y co-ordinate position pair dimension values of at least a portion of all corner points for the overall component area and associated element areas (for the element type shown: rectangle areas). The x and y coordinate values for the element area 207 corner points 509, 511, 512, 513 may be used to derive the element width and height dimensions as well as area and the position of the area relative to the overall fixed-layout component area. It should be understood by those with ordinary skill in the art that alternate methods may be used to arrive at the same feature, functionality, or conclusion.

FIG. 5B illustrate an exemplary variation of positional dimensions of an element in relation to a defined reference location on an overall fixed-layout component area, according to an embodiment of the invention. According to the embodiment, an exemplary variation of FIG. 5A is shown with respect to the y-Axis dimension 511 orientation, as compared to the y-Axis 503 as demonstrated in FIG. 5A. However, there may be many other different approaches to measuring the various dimensions required to deliver a same required result of maintaining the positional and area and size integrity of at least a portion of all items relative to each other, and in relation to the overall component area, and which are part of each specific fixed-layout component 201.

FIG. 6A illustrates an example of a reference position location for a plurality of elements and a reference position location for the overall fixed-layout component area, according to an embodiment of the invention. According to the embodiment, how each element reference point 502, 601, 602, 603, 604, 605, 606 may be connected, and referenced back to the component reference point 501 via the reference height 503, and reference width 504 of each element may be shown.

FIG. 6B illustrates an example of a different reference position location for a plurality of elements and a reference position location for the overall fixed-layout component area, according to an embodiment of the invention. According to the embodiment, element reference points 607, 608, 609, 610, 611, 612, 613 may be positioned centrally in each component element. It should be understood by those experienced in the art that alternate methods could be used to arrive at the same feature, functionality, or conclusion.

FIG. 7A illustrates an example of interactivities (including display properties) provided by the element areas to an embodiment of the invention. According to the embodiment, example element areas 203, 207 may be associated with element user interface interactivity functions. The areas allow interaction from a user device (for example, via input from a touchscreen, mouse click, etc.). The user interface interactivity functions may support a wide range of input, such as user text data entry 701, 702, which may uniquely be linked to the respective element area 203, 207. According to the embodiment element areas 703 and 704 could display different display colors to the user-device, and/or be associated with multiple states for each specific element.

FIG. 7B illustrates an example of element area definition positions according to an embodiment of the invention. According to the embodiment, the element area 207 may have a number of unique element area definition points 706, 707, 708, 709 whereby each element definition point may have a unique x and y dimension co-ordinate value. The calculation of the values allows the creation of an interactive element area which may occupy this element area 207. The x and y dimension coordinates may then be used to calculate at least a portion of all the other previously referred dimensions: 401, 402 508, 510, which then allows the calculation of relative positional data for this element area 207 relative to the overall fixed-layout component area 201.

FIG. 8A illustrates an example of the various data stores (database, metadata, files, etc.) associated with one or more fixed-layout area display components, according to an embodiment of the invention. According to the embodiment, fixed-layout component 102, and with the overall area 201, may be understood to be a background area of an overall component relative to the element areas 202, 203, 204, 205, 206, 207, 208 which may be visible in a foreground in a relative sense. FIG. 8A further illustrates each fixed-layout component (at least a portion of background and foreground areas) may have associated graphics, digital images, multimedia, or other data associations 801. FIG. 8A further illustrates at least a portion of all the dimensional, positional, calculated, relative, layer data, file, and metadata 802 and element user interactivities function association data 803 and other display, state, color and related associated data 804. At least a portion of this data and associated metadata and files and any derived or further calculated data linking at least a portion of the data items to the overall fixed-layout component, including the elements, are assembled, and stored in the component package data store 805. Each unique fixed-layout component may have its own associated data set which may be stored and managed on the overall component package data store 804.

FIG. 8B illustrates an example of the various data stores (database, metadata, files, etc.) associated with one or more fixed-layout area display components, according to an embodiment of the invention. According to the embodiment, fixed-layout component 102, and with the overall area 201, (referring FIG. 2) may be understood to be a background area of an overall component relative to the element areas 202, 203, 204, 205, 206, 207, 208 which may be visible in a foreground in a relative sense. FIG. 8B further illustrates each fixed-layout component (at least a portion of background and foreground areas) may have associated graphics, digital images, multimedia, or other data associations 801. FIG. 8B further illustrates at least a portion of all the dimensional, positional, calculated, relative, layer data, file, and metadata 802 and element user interactivities function association data 803 and other display, state, color and related associated data 804, and associated variable data rules and metadata data 807. FIG. 8B illustrates an example of the variable rules meta data store 807 which associates variable logic rule with found or derived element areas. At least a portion of this data and associated metadata and files and any derived or further calculated data linking at least a portion of the data items to the overall fixed-layout component, including the elements, are assembled, and stored in the component package data store 805. Each element area, which can be either found/calculated or derived element areas (categories) can have variable data rule(s) associated metadata 807 which can support various display and data logic processing based on user interactions. Each unique fixed-layout component may have its own associated data set which may be stored and managed in the overall component package data store 806.

FIG. 9 is a high-level flow diagram illustrating an exemplary process for calculation of at least a portion of dimension data for items (e.g. element areas) which may be part of a fixed-layout component area, according to an embodiment of the invention. According to the embodiment, a fixed-layout component package preparation method is depicted. Accordingly, a user device may initiate component package definition process 901 by analyzing and preparing an overall component area and any associated graphics or digital image(s) for component background area 201, analyze a plurality of defined areas assigned to each associated element, and prepare any graphics or digital images associated with the element(s) 902 as part of the overall component. The primary dimensions 301, 302, 401, 402, 503, 505 for the overall area and each element(s) 202, 203, 204, 205, 206, 207, 208 are calculated in step 903. At least a portion of the primary dimensions may be processed further 904 resulting in derived calculated dimensions to support the requirement that at least a portion of items in the overall fixed-layout component may support dynamically scaling and repositioning of the overall component size and associated elements so that accurate positional, size and display integrity is maintained. At least a portion of the display-layer data (referring, for example, to the system of FIG. 2B) user interactivities types, different user states, and display colors, may be associated with each specific elements or overall component area(s) as required in step 905. At least a portion of the dimension data (primary and calculated, derived) are then stored in the dimension's metadata data store 802. If elements have associated user interactivities 905 this data may be assembled and stored in the component package definition 803 data store. At least a portion of the relevant data items for the overall component may then be finally assembled 906 from the various data sources 801 802 803 804 and may be placed 907 in each component package data store 804. The method step 901 may be repeated for at least a portion of components which require the data definition.

Fixed Area Programmatic Display Window

FIG. 10A and FIG. 10B illustrate an example of a fixed area programmatic display window which may be part of the overall user display window in a display screen, according to an embodiment of the invention. According to the embodiment, a programmatically generated window area 1001, with positional dimensions 1002 1004, and with area size dimensions 1003 and 1005 may be shown. The position and size of this display window will be controlled programmatically as part of an overall programmatic user interface application on the user device. The fixed-layout component 102 will be programmatically placed inside 106, 107, 108 the display window 1001 and resized dynamically to fit within this actual display window size, while also maintaining the aspect ratio of fixed area component 102, and at least a portion of the elements comprised within the fixed-layout package, and the relative size, position and display-layer data of at least a portion of elements relative to each other as part of the overall component package. Further according to the embodiment, component 102 may be placed inside display window 1001 where the width of the component may be dynamically resized to equal the width of the display window 1001, and where there the depth of the component may be less than the display window resulting in an excess space area 1009. Further according to the embodiment, the aspect ratio of the programmatic display component 1001 may have the same aspect ratio as the fixed-area component area 201, which would enable the fixed-area component to exactly fit into the programmatic display window 1001. Display layer metadata may be used to ensure that at least a portion of areas are shown to the user in the correct predefined sequence, and where some may overlap others ref FIG. 2B. The programmatic window 1001 may be resized and repositioned dynamically in FIG. 10C the updated window size and position 1010, driven by specific user interactivities with the overall programmatic application. The fixed-layout component 102 will then dynamically resize to fit new window area 1010, while also maintaining the aspect ratio of the fixed area component 102, and the elements comprised therein, and that the relative size, position and display-layer data of elements relative to each other may be maintained as part of the overall fixed-layout component package.

FIG. 11 illustrates a plurality of exemplary fixed-layout windows and a component comprised therein as it is repositioned and automatically resized in various device screens display sizes, according to an embodiment of the invention. According to the embodiment, user interface screen 101, 1101, 1103, 1105, 1107 of a plurality of user devices are depicted. Each user interface may comprise programming instructions stored in the memory, the programming instructions, when executed by the processor may display the overall application to the user. The fixed-layout content may display independently within the fixed area display window provided 1109, 1102, 1104, 1106, 1108, as part of each device display screen 101, 1101, 1103, 1105, 1107. The fixed-layout area may be re-sized, re-scaled and repositioned independently and dynamically depending on end user requirements and the overall programmatic screen display logic.

FIG. 12 illustrates various examples of user devices 1201, 1202, 1203, and each comprising a programmatic display window 1204, 1205, 1206, and where the fixed-layout component may be automatically resized to fit each provided programmatic display window, while maintaining at least a portion of positional, dimensional and aspect ratios within the fixed-layout component. According to the embodiment, the positioning of fixed-layout content display 102 in one specific (same) device 1201, then repositioned in the same device 1202 in the same specific orientation and with different device orientation detailed in 1203. As the device orientation may be changed from portrait 1201 and 1202 to landscape 1206 the fixed-layout component may be dynamically repositioned and resized as a unified component within the overall display area 102.

FIG. 13 details an example of a client device 1300 with an online application installed 1301 and communicating over a network 1306 with a server application 1307. In this embodiment which details the example online user interface module(s) 1302 which may reside on the client device 1301. The online user interface module 1302 may be an integral part of the user interface modules 1308, and which may be a component of the overall server system 1307.

The user client device(s) 1300 may communicate directly or indirectly with the server 1307 and other systems 1312 via network(s) 1306. Device application 1301 user interface module 1302 may comprise programmatic component 1303 and fixed-layout display UI component 1304. Online device user-interface modules 1303, 1304 may be downloaded/synchronized automatically on use from the application server modules 1309, 1310. Programmatic client interface module 1303 may manage at least a portion of aspects of the user display and for programmatic generated content and activities, and the creation, positioning, re-positioning and management of the fixed area display window 1001 (referring to FIG. 10A). Fixed-layout component module 1304 may manage aspects of the fixed-layout display components and any associated end-user generated data 1313. This module may access the specific component package(s) for the component(s) being displayed, it may then read the component package(s) from the data store 804 and then process at least a portion of the comprised data, render and display the package(s) within one or more fixed windows 1001 (referring to FIG. 10A) supplied by programmatic client interface module 1304 and present that to the end user on the device screen. If associated user data exists this will then be accessed from the user data store 1313 and also presented to the user.

While the client device 1300 and online application server system 1307 are presented with specific components, it should be understood by one skilled in the art, that the architectural configuration of the system 1300, 1307, 1312 may be simply one possible configuration and that other configurations with more (or less) components are also possible to achieve the desired result.

FIG. 14 details an example of a client device 1401 with an installed or native application (hereinafter referred to as “APP”) 1402, and which communicates over networks 1410 with the server application 1307. The user client device(s) 1401 may communicate both directly and/or indirectly with the server 1307 and other systems 1312, 1408 via the network(s) 1410. The original installation of the native application on the device may be provided from application delivery server 1408. APP 1402 installation module or program 1409 may provide the application installation files from data store 1410, and this data store may also comprise a version of component package data 804 for the fixed-layout component definitions. When the initial installation has completed a copy of the component package data 804 may then also reside with or inside APP 1402 on actual user device 1401. Component package APP data store 804 inside APP 1402 may also receive subsequent automatic or ad-hoc updates from a different or updated version of this data file which may be stored on the online application server system 1307 or the application delivery server 1408.

Installed APP 1402 and online client software 1301 may both exist separately and may be independent of each other on any specific same device 1300, 1401. APP 1402 user interface module may comprise its own programmatic component module 1404 and fixed-layout component module 1405. APP 1402 programmatic client interface module 1404 may manage aspects of the user display and for programmatic generated content and interactivities and the creation, positioning, re-positioning and management of fixed area display window 1001 (referring to FIG. 10A). The fixed component module 1405 may manage aspects of the fixed-layout display components and any associated end-user generated and or user derived data 1407. This fixed-layout component module 1405 may access a specific version of the component package 804 inside or directly associated with APP 1402 for the component being displayed (within APP 1402). Fixed-layout module 1405 may then read the component package from data store 804 and then process at least a portion of the comprised data, render, and display the fixed-layout package within the fixed display window 1001 supplied by programmatic client interface module 1404 and display that to the end user device. If user data 1407 which may be associated with APP 1402, the fixed-layout component module will also then retrieve and display data 1407 for the user via fixed-layout module 1405.

The user may interact with the fixed element areas 202, 203, 204, 205, 206, 207, 208 as part of specific component 201. Fixed element areas are configured to receive user-entered data 701 and 702, whereby this data may be saved to APP data store 1407 via the application logic modules 1406. If the user element data is already in data store 1407 (within the APP 1402, for example, from a previous save) it may be displayed/redisplayed to the associated user interface on completion and display of the fixed-layout component. Application (APP) user data store 1407 may update (as required) online application server system 1307 user data store 1313 via the server application programming interface (API) module 1311.

While client device 1300, 1401 and server systems 1307, 1408, are presented with specific components, it should be understood by one skilled in the art, that the architectural configuration of the system 1401, 1408, 1307 may be simply one possible configuration and that other configurations with more (or less) components are also possible to achieve the desired result.

FIG. 15 is a high-level flow diagram illustrating an exemplary process for programmatically loading and displaying a plurality of fixed-layout components, according to an embodiment of the invention. According to the embodiment, user device software (online 1301, or native/installed app 1402) software load and display process 1500: In some embodiments, the device display software 1302, 1403 may load programmatic module 1303, 1404 and may then complete initial initialization 1501 for a user device display. If a user device display comprises fixed-layout component 1502, programmatic device interface module 1303, 1404 may initialize 1503 viewing display window 1001 for the fixed-layout component. Fixed-layout component device interface module 1304, 1405 may then access the specific component 1504 from the component data store 804, where at least a portion of the data may then be processed 1505 and the fully assembled/rendered fixed-layout package comprising at least a portion of its associated items may be then presented to the display window 1001 in step 1506, while dynamically resizing as required. If end-user data 1313, 1407 exists and is associated with the specific fixed-layout component being displayed, this data may be retrieved and displayed 1507 to the user by the modules 1304, 1405. Device software load and display process 1500 may be repeated from step 1502 for at least a portion of fixed-layout components which may be part of the device screen (referring to FIG. 1B).

FIG. 16A and FIG. 16B illustrate an exemplary embodiment of a fixed-layout component combined with programmatic display elements on a screen of a user device with a plurality of orientations, according to an embodiment of the invention. According to the embodiment, support for multiple orientations of landscape 1601 and portrait 1606 may be shown. The user device 1601, 1606, details the display 1602, 1607, whereby programmatic display area 1603, 1610 may be shown, and in contrast the fixed-layout area 1604, 1608 may be also shown. Further according to the embodiment programmatic text 1603, 1610 and fixed-layout component 1604 may be displayed. Programmatic text 1603 may be user selectable, whereas fixed component text 1604, 1608 may be non-selectable and may be comprised, for example, on the fixed-layout area background digital graphic, and where the scaling may determine the text size of the fixed-layout component package within the window 1001 (referring to FIG. 10). An example of a user interactivity element is detailed in 1605, 1609, whereby its position and function are managed by the fixed component modules 1304, 1405 and may be independent of the overall programmatic application modules 1303, 1404. Display window 1001 size and position may be different across the device orientations 1601 and 1606 which may result in different size scaling of the fixed-layout component.

FIG. 16C illustrate another exemplary embodiment of a fixed-layout component combined with programmatic display elements on a mobile device with interactive variable components, according to an embodiment of the invention. According to the embodiment, support for multiple orientations of landscape 1601 and portrait 1606 are shown.

Mobile computing device 1601 comprises display 1602 whereby programmatic display area 1603 may be shown, and, in contrast, fixed-layout area 1604 may also be shown. Further according to the embodiment programmatic text 1603 and fixed-layout component 1604 may be displayed. Programmatic text 1603 may be user selectable, whereas fixed component text 1604 may, in some embodiments, be non-selectable and may be comprised, for example, on the fixed-layout area background digital graphic, and where the scaling may determine a text size of the fixed-layout component package within the window 1001 (referring to FIG. 10A-10B). In some embodiments, areas 1610 and 1615 comprise areas where interactivity, for example via I/O 48 (referring to FIG. 23) whereby position and function are managed by the fixed component modules 1304 (referring to FIG. 13) and 1405 (referring to FIG. 14) and may be independent of the overall programmatic application modules 1303, 1404. Display window 1001 size and position may be different across the device orientations 1601 and 1606 which may result in different size scaling of the fixed-layout component. The user interactivity element area 1610 comprises found element area 1611 whereby it may display dynamic variable data 1612 in/on this found element area 1611. User interactivity element 1610, operable to receive data via, for example, via I/O 48 may comprise variable data 1612 and be logically associated with one or more variable labels 1613 which may, in some embodiments, be comprised on the background fixed-layout area 1604.

FIG. 18A illustrates an exemplary embodiment of a fixed-layout content component item 102 that comprises element areas 1801, 18021, 18031, 18041, 1813, 1815, 1817 that may be comprised in/on fixed-layout content item 201, and that may form a basis for new element items 1824, 1808, 1809, 1810, 1814, 1816, 1818 (for example, as defined in FIG. 2A: 202, 203, 204, 205, 206, 207, 208). Element area items 1825, 1808, 1809, 1810, 1814, 1816, 1818 may be automatically derived from highlighted areas 1801, 18021, 18031, 18041, 1813, 1815, 1817. Newly derived and calculated element areas 1825, 1808, 1809, 1810, 1814, 1816, 1818, are operable to support additional interactivity via I/O devices 48.

FIG. 18A further illustrates an exemplary fixed-layout content item 208 that may be defined as a background area 208 relative to any element areas 1801, 18021, 18031, 18041, 1813, 1815, 1817, that may be in a foreground on a relative basis (in some embodiments this may be seen as a layer). Further according to the embodiment, fixed-layout component 102 may comprise fixed-layout content item area 208, any number of digital graphics (for example, to makeup a full or partial area 208), items such as text, pictures, shapes, and a plurality of highlighted outline areas 1801, 18021, 18031, 18041, 1813, 1815, 1817 may be embedded as part of content item area 208. An overall objective, in a preferred embodiment, may be to automatically find and create element item areas (as defined in FIG. 2A: 202-208) which may be based on the highlighted exemplary areas 1801, 18021, 18031, 18041, 1813, 1815, 1817. Further according to the embodiment, new element item areas 1825, 1808, 1809, 1810, 1814, 1816, 1818, may be dimensionally sized and positionally located such that the element item areas may reside just within exemplary highlighted areas 1801, 18021, 18031, 18041, 1813, 1815, 1817. An objective is therefore to automatically identify a plurality of areas (that is, a plurality of automatically found and calculated element areas) which may be inside each of areas 1801, 18021, 18031, 18041, 1813, 1815, 1817. The automatically found element area items comprising dimensional, positional, and display-layer data may then be each added as new element area items to fixed-layout package data stores 806 (referring to FIG. 8A).

Further according to the embodiment, a process is disclosed that may automatically find and calculate element item areas 1825, 1808, 1809, 1810, 1814, 1816, 1818, which are the dashed line figure area inside the highlighted area 1801, 1802, 1803, 1804, 1813, 1815, 1817, as illustrated. It should be noted that the automatically found element item areas illustrated 1824, 1808, 1809, 1810, 1814, 1816, 1818, (dashed line figure) may be marginally smaller than the highlighted area 1801, 1802, 1803, 1804, 1813, 1815, 1817 identified as part of the background image.

In other embodiments an automatically found and calculated areas be may equal to or greater than (or much less than) highlighted areas 1825, 1808, 1809, 1810, 1814, 1816, 1818. automatically found element definition points 706, 707, 708, 709 coordinates may then be used to further derive definition data (referring to FIG. 8A) required in the 802 dimension and positional data store which may then support a final assembly of fixed-layout component definition data 806. There may be many other alternative methods to determine element definition points 706, 707, 708, 709 coordinates to calculate width 401, height 402, and position of at least a portion of element areas relative (as in FIG. 5A: 508, 510) to the overall fixed-layout content item. Automatically calculated element item areas 1824, 1808, 1809, 1810, 1814, 1816, 1818 (dashed line figure) may be pre-defined as a percentage smaller than the boundary of the highlighted area 1801, or it may be a same size or also larger, depending on the requirement or configuration.

FIG. 18B illustrates an embodiment of a fixed-layout component comprising the fixed-layout content background area, one or more digital graphics, visual items that may comprise one or more highlighted areas embedded as part of any number of digital graphics, and computations of one or more derived areas, according to an embodiment of the invention. According to the embodiment, fixed-layout content component item 102 comprises element area 1801 that may be comprised in/on fixed-layout content item 201, and that may form a basis for new automatically found element area items 18316 (for example, as defined in FIG. 2A: 202, 203,204, 205, 206, 207, 208), and also new derived element area 18317. Derived element area items 18317 may be derived (that is, calculated) automatically from the automatically found areas 18316 and which in turn is derived from the highlighted element areas 1801. Newly derived element area 18317 or the automatically found and calculated element areas 18316 may be configured to support additional user interaction 701, 702 (referring to FIG. 7A).

FIG. 18B further illustrates an exemplary fixed-layout content item 208 that may be defined as a background area 208 relative to any element areas 1801 that may be in a foreground on a relative basis (in some embodiments this may be seen as a layer). Further according to the embodiment, fixed-layout component 102 may comprise fixed-layout content item area 208, any number of digital graphics (for example, to makeup the full or partial area 208), items such as text, pictures, shapes, and the highlighted element outline areas 1801 may be embedded as part of content item area 208.

An overall objective, in a preferred embodiment, may be to automatically find and create element item areas (as defined in FIG. 2A, for example 202-208) which may be based on the highlighted exemplary element area. Further according to the embodiment, new automatically found element item areas 18316, may be dimensionally sized and positionally located such that the element item areas may reside at the exemplary highlighted element area 1801. Further according to the embodiment, the data which was used to automatically find and calculate the found element area 18316, may then be processed further to enable the creation of an additional new derived element area 18317. In a preferred embodiment this further derived area processing may be based on a percentage or pixel dimension adjustments (or combinations) to the found and calculated element area 18316 overall dimensions and any relative positioning of the derived area 18317 relative to the found area 18316.

Component area 201 may have associated dimension x-Axes 18303 and y-Axes 18302 and direction (referring to FIG. 5A and FIG. 5B). Accordingly, each fixed-layout element may have an associated reference point in a two-dimensional dimension display grid which may have an x-Axis 502 and a y-Axis 503 (referring to FIG. 5A and FIG. 5B). Each Axes may each have dimensional values from 0 (18301), 1 to “n” (18303) as for the x-Axis and from 0 (18302), 1 to “n” (18302) as shown for the y-Axis. Each dimension point will have an x and y dimension pair value in the x-y two-dimensional dimension grid. Further according to the embodiment, element area 208 may have associated reference point 18301 displayed which may have a unique x and y co-ordinate pair values for dimension position. In this embodiment, the component reference point 18301 may have a position of 0, 0 for the x-y dimension's pair.

Any position (represented by a x-y location pair) in the fixed element area 208 may have additional dimension adjustments applied to enable the calculation of an additional derived location represented by its own unique x-y location pair. Referring to the X Axis 18303 and Y Axis directions 18302 which are classified as positive X and Y directions respectively whereas 18321 and 1832 are classified as negative X and Y dimension directions respectively in this embodiment. In this embodiment, position 18312 may be derived from position 706, position 18313 may be derived from position 707, position 18314 may be derived from position 708, and position 18315 may be derived from position 709 in this preferred embodiment. Accordingly beginning with position 706 and adding a positive X and Y dimension adjustments to derive the location position 18312, and conversely, beginning with position 18312 and adding a negative X and Y dimension adjustments to derive the location position 706 according to this embodiment. So, position 707 would have a negative X and positive Y dimension adjustments applied to derive the location position 18313, and conversely position 18313 would have positive X and negative Y dimension adjustments applied to derive the location position 707 according to this embodiment. Accordingly, position 708 would have a negative X and positive Y dimension adjustments applied to derive the location position 18314, and conversely position 18314 would have positive X and negative Y dimension adjustments applied to derive the location position 708 according to this embodiment. So, position 709 would have a positive X and positive Y dimension adjustments applied to derive the location position 18315, and conversely position 18315 would have negative X and negative Y dimension adjustments applied to derive the location position 709 according to this embodiment.

The positive and negative direction dimension adjustments for both the X any Y direction are referred to as: ΔX_(positive) 18304, ΔX_(negative) 18305, ΔY_(positive) 18306, ΔY_(negative) 18307 according to the embodiment. In an embodiment, these dimension and positional adjustments in the X any Y directions may be defined in terms of an absolute number of pixels for each of the defined search directions. Each search direction can have different number of pixels adjustments applied. In another embodiment, these positive or negative dimension adjustments may also be defined as a percentage of element width 401 or height 402 (referring to FIG. 4). Each search direction may have a different percentage adjustments applied. In another embodiment, these positive or negative dimension adjustments may be defined as a percentage of a specified element area (referring 202, FIG. 2A) resulting in a calculated a number of pixels, and where these “calculated number of pixels” are then applied as adjustments to some or all of the other element areas (referring 203, 204, 205, 206, 207, FIG. 2A). In another embodiment these positive or negative dimension adjustments may also be defined in terms of a combination of absolute number of pixels or a defined percentage for each of the directions X and Y, i.e. each specific search direction can be either a number of pixels or percentage calculation.

Direction 18304 is ΔX_(positive) which may be a positive number, direction 18305 is ΔX_(negative) which may be a negative number, direction 18306 is ΔY_(positive) which may be a positive number, direction 18307 is ΔY_(negative) which may be a negative number.

In the illustrated FIG. 18B embodiment, ΔX₁ 18318 is a ΔX_(positive) and is a positive number, ΔX₂ 18319 is a ΔX_(negative) and is a negative number, ΔY₁ 18321 and ΔY₂ 18319 are both ΔY_(positive) and therefore are positive numbers.

In the FIG. 18B the general notation X_(ea), Y_(ea) refers to the position of the element area i.e. “ea”. The notation X_(fc), Y_(fc) refers to the position of the found and calculated element area. i.e. “fc”. The notation X_(d), Y_(d) refers to the position of the derived element area. i.e. “d”.

In the FIG. 18B embodiment, the x-y coordinates for the derived position 18312 X_(d1), Y_(d1) may be calculated from position 706 X_(fc1), Y_(fc1) as follows: X_(d1)=X_(fc1)+ΔX₁, Y_(d1), =Y_(fc1)+ΔY₁. The x-y coordinates for the derived position 18313 X_(d2), Y_(d2) may be calculated from position 707 X_(fc2), Y_(fc2) as follows: X_(d2), =X_(fc2)+ΔX₂, Y_(d2), =Y_(fc2)+ΔY₂. The x-y coordinates for the derived position 18314 X_(d3), Y_(d3) may be calculated from position 708 X_(fc3), Y_(fc3) as follows: X_(d3), =X_(fc1)+ΔX₂, Y_(d3), =Y_(fc3)+ΔY₂. The x-y coordinates for the derived position 18315 X_(d4), Y_(d4), may be calculated from position 709 X_(fc1), Y_(fc1) as follows: X_(d4), =X_(fc4)+ΔX₁, Y_(d4), =Y_(fc4)+ΔY₁. Referring to FIG. 18A, the derived area 1832 with width 1851 and height 1853 may be calculated, and all the x, y derived coordinates and associated derived metadata may be stored in the element area metadata data stores 804, 805 and 806 (referring to FIG. 8B).

In other embodiments the dimensions for ΔX₁, ΔX₂ ΔY₁, ΔY₂ can be positive or negative for each or some or all of these values, thereby allowing the calculation of derived areas 18317 which can be positioned at any location relative to the originally found and calculated area 18316.

FIG. 18C illustrates another exemplary embodiment of a fixed-layout component comprising the fixed-layout content background area, one or more digital graphics, visual items that may comprise one or more highlighted areas embedded as part of any number of digital graphics, and computations of one or more derived areas, according to an embodiment of the invention. According to the embodiment, fixed-layout content component item 102 comprises element areas 1801, 1830 that may be comprised in/on fixed-layout content item 201, and that may form a basis for new automatically found (referring to FIG. 26A) element area items 1831, 1849 (for example, as defined in FIG. 2A: 202, 203, 204, 205, 206, 207, 208), and also new derived element areas 1832, 1850. Derived element area items 1832 and 1850 may be derived (that is, calculated) automatically (referring to FIG. 26B) from the automatically found areas 1831 and 1849 and which are in turn derived from the highlighted areas 1801, 1830. Newly derived element areas 1832, 1850 or the automatically found and calculated element areas 1832, 1949, may both be configured to support additional user interaction 702 (referring to FIG. 7A).

FIG. 18C further illustrates an exemplary fixed-layout content item 208 that may be defined as a background area 208 relative to any element areas 1801, 1830, that may be in a foreground on a relative basis (in some embodiments this may be seen as a layer). Further according to the embodiment, fixed-layout component 102 may comprise fixed-layout content item area 208, any number of digital graphics (for example, to makeup the full or partial area 208), items such as text, pictures, shapes, and two highlighted outline areas 1801, 1830 may be embedded as part of content item area 208.

An overall objective, in a preferred embodiment, may be to automatically find and create element item areas (as defined in FIG. 2A: 202-208, etc.) which may be based on the highlighted exemplary areas 1801, 1830. Further according to the embodiment, new automatically found element item areas 1831, 1849, may be dimensionally sized and positionally located such that the element item areas may reside at exemplary highlighted areas 1801, 1830. Further according to the embodiment, the data which was used to automatically find and calculate the found element areas 1831, 1849 may then be processed further to enable the creation of additional new derived element areas 1832, 1850. In a preferred embodiment this further derived area processing may be based on a percentage or pixel (or combinations thereof) dimension adjustments to the found element area 1831 overall dimensions and relative positioning of the derived area 1832 relative to the found area 1831.

The derived area 1850 is based on the found area 1849 which is based on the element area 1801. The derived area 1832 is based on the found area 1831 which is based on the element area 1830. For the highlighted area 1830, the automatically found element area 1832 supports area dimensions 1852 and 1854, whereas the automatically derived element area supports dimensions 1851 and 1853.

Each search direction 1803, 1807, 1804, 1806 may have a positive or negative (increase or decrease) percentage or pixel dimension 1846, 1835, 1840, 1843 and position adjustments applied to each search direction which then enables the calculations for positions 1836, 1837, 1844, 1845 to be mathematically derived from the positions at 1834, 1839, 1842, and 1847. Each search direction 1803, 1807, 1804, and 1806 may have its own percentage or pixel dimension 1836, 1840, 1843, 1846 parameters applied and as either an increase 1856 or decrease 1855 in relation to the automatically found element area 1831, and 1849.

In another embodiment the found element areas 1849 may have the dimension adjustments 1846 1835 1840 1843 applied after the automatic searching has concluded (in search directions 1803, 1804, 1806, 1807) and to then automatically generate the new derived element areas 1850.

An objective is therefore to automatically identify a plurality of areas (that is, a plurality of automatically found and calculated element areas) which may be inside each of areas 1831, 1849, and also then automatically generate derived element areas based on the application of either positive or negative percentage or pixels dimensions applied to each element area border. The automatically found and derived element area items comprising dimensional, positional, and display-layer data may then be each added as new element area items to fixed-layout package data stores 806 (referring to FIG. 8A).

FIG. 18D illustrates another exemplary embodiment of a fixed-layout component comprising the fixed-layout content background area, one or more digital graphics, visual items that may comprise one or more highlighted areas embedded as part of any number of digital graphics, and where derived areas examples are shown, according to an embodiment of the invention. According to the embodiment, an exemplary fixed-layout content item 208 may be defined as a background area 208 relative to any element areas 1801, 1830, whereby element areas 1801 and 1830 may be in a foreground on a relative basis (in some embodiments this may be seen as a layer). Further according to the embodiment, fixed-layout component 102 may comprise fixed-layout content item area 208, any number of digital graphics (for example, to makeup the full or partial area 208), items such as text, pictures, shapes, and the highlighted element areas 1860, 1862, 1864, 1866, 1868, 1870, 1872, 1874, 1874, 1878 may be embedded as part of content item area 208. An overall objective, in a preferred embodiment, may be to automatically find and create the derived element item areas (as defined in FIG. 18C: 1832, 1850) for at least a portion of the outline's areas 1860, 1862, 1864, 1866, 1868, 1870, 1872, 1874, 1874, 1878 and which results in the calculation of the derived element areas 1861, 1863, 1865, 1867, 1869, 1871, 1873, 1875, 1877, 1879. As defined in FIG. 18C, each derived element area 1832, 1850 is calculated from each automatically found element area by applying a positive or negative percentage or pixels dimensions adjustment 1855, 1856 for each search direction. The automatically found and derived element area items comprising dimensional, positional, and display-layer data may then be each added as new element area items to fixed-layout package data stores 806 (referring to FIG. 8A).

FIG. 18E illustrates an exemplary embodiment of a fixed-layout component comprising the fixed-layout content background area, one or more digital graphics, visual items that may comprise one or more highlighted areas with different borders embedded as part of the one or more digital graphics, and where derived areas are found and shown according to various embodiments of the invention. According to the embodiment, fixed-layout content item 208 that may be defined as a background area 208 relative to any element areas 1801, 1830, that may be in a foreground on a relative basis (in some embodiments this may be seen as a layer). Further according to the embodiment, fixed-layout component 102 may comprise fixed-layout content item area 208, any number of digital graphics (for example, to makeup the full or partial area 208), items such as text, pictures, shapes, and two highlighted outline areas 1801, 1830 may be embedded as part of content item area 208. An overall objective, in a preferred embodiment, may be to automatically find and create element item areas (as defined in FIG. 2A: 202-208) which may be based on the highlighted exemplary areas 1801, 1830. Further according to the embodiment, new automatically found element item areas 1831, 1849, may be dimensionally sized and positionally located such that the element item areas may reside at exemplary highlighted areas 1801, 1830. Further according to the embodiment, the highlighted outline area 1801 is bordered on three sides 1848, 1833, 1838, by lines, whereas the fourth side 1890 is bounded by some text and or graphic on/in the background area 208. The search direction 1806 will stop at position 1845, resulting in the automatically found element area 1849. The automatically found element area 1849 then enables a derived element area 1850 to be calculated (as defined referring to FIG. 18C). The automatically found and derived element area items comprising dimensional, positional, and display-layer data may then be each added as new element area items to fixed-layout package data stores 806 (referring to FIG. 8A).

FIG. 18F illustrates an exemplary embodiment of a fixed-layout component comprising the fixed-layout content background area, one or more digital graphics, visual items that may comprise one or more highlighted areas with different borders embedded as part of the one or more digital graphics, and where derived areas are found and shown according to various embodiments of the invention. According to the embodiment, fixed-layout content item 208 that may be defined as a background area 208 relative to any element areas 18101, 18106, 18111, 18116, that may be in a foreground on a relative basis (in some embodiments this may be seen as a layer). Further according to the embodiment, fixed-layout component 102 may comprise fixed-layout content item area 208, any number of digital graphics (for example, to makeup the full or partial area 208), items such as text, pictures, shapes, and four highlighted outline areas 18101, 18105, 18106, 18107, 18111, 18112, 18116, 18117, 18121, 18122 may be embedded as part of content item area 208. An overall objective, in a preferred embodiment, may be to automatically find and create found element item areas 18102, 18108, 18113, 18118 (as defined in FIG. 2A: 202-208, etc.) from a start position 18104, 18109, 18115, 18120 and which may be based on the highlighted exemplary areas 18101, 18106, 18111, 18116. Further according to the embodiment, the automatically found areas 18102, 18108 18113, 18118 utilized certain sample text or graphic 18105, 18107, 18112, 18117, 18121, 18122 as one or more boundaries to the automatically found element areas. Automatically found 18102, 18108, 18112, 18118 and derived (referring to FIG. 18C) element area items 18103, 18110, 18114, 18119 comprising dimensional, positional, and display-layer data may then be each added as new element area items to fixed-layout package data stores 806 (referring to FIG. 8A).

FIG. 18G illustrates an exemplary embodiment of a fixed-layout component comprising the fixed-layout content background area, one or more digital graphics, visual items that may comprise one or more highlighted areas with different borders embedded as part of the one or more digital graphics, and where derived areas are found and shown according to various embodiments of the invention. According to the embodiment, fixed-layout content item 208 that may be defined as a background area 208 relative to any element areas 1831, 1836, 18140, 18144, that may be in a foreground on a relative basis (in some embodiments this may be seen as a layer). Further according to the embodiment, fixed-layout component 102 may comprise fixed-layout content item area 208, any number of digital graphics (for example, to makeup the full or partial area 208), items such as text, pictures, shapes, a plurality of highlighted outline areas 18131, 18136, 18140, 18144, and text/graphics 18135, 18137, 18141, 18145, 18147 may be embedded as part of content item area 208. An overall objective, in a preferred embodiment, may be to automatically find and create element item areas 18132, 18138, 18143, 18148 (as defined in FIG. 2A: 202-208) from a search start position 18134, 18139, 18142, 18146. Further according to the embodiment, the automatically found element areas 18133, 18138, 18143, 18148 utilized certain sample text or graphic 18135, 18137, 18141, 18145, 18147 as one or more boundaries to the automatically found element areas. Automatically found and calculated and derived (referring to FIG. 18A) element areas 18132, 18133, 18138, 18143, 18148 items comprising dimensional, positional, and display-layer data may then be each added as new element area items to fixed-layout package data stores 806 (referring to FIG. 8A).

FIG. 18H illustrates an exemplary embodiment of a fixed-layout component comprising the fixed-layout content background area, one or more digital graphics, visual items that may comprise one or more highlighted areas with different borders embedded as part of the one or more digital graphics, and where a found element area is spread across different areas in the background area, according to an embodiment of the invention. According to the embodiment, fixed-layout content item 208 that may be defined as a background area 208 relative to any element areas 1801 that may be in a foreground on a relative basis (in some embodiments this may be seen as a layer). Further according to the embodiment, fixed-layout component 102 may comprise fixed-layout content item area 208, any number of digital graphics (for example, to makeup the full or partial area 208), items such as text, pictures, shapes, and two highlighted outline areas 1801 may be embedded as part of the fixed area 208. An overall objective, in a preferred embodiment, may be to automatically find and create element item area (as defined in FIG. 2A: 202-208) where the background fixed layout area 201 comprises different areas 18160, 18162, 18163, 18170 and which may comprise different digital graphics and/or including different pixel color properties, and where the search logic and associated setting to be used are specifically defined in detail.

According to the embodiment, advanced search logic may relate to the defined search directions and additional associated search configuration settings for each search direction to enable the finding of more complex automatically found element area 1801. Referring now to FIG. 18H the background area 208 comprises additional internal areas 18160, 18162, 18163, 18170 in addition to an element area outline 1801. Internal areas 18160, 18162, 18163, 18170 may comprise different graphics and or pixel color (s).

It may be observed that if an automatic simple (first change of pixel color in any direction) search commences at location 1805 (and where the background of 18162 has different coloring to areas 18160 and 18163) this would result in an automatic element area being found and this area would have positional coordinates 18071, 18172, 18173, 18174.

In an embodiment, enhanced search logic may be defined such that the automatically found element area 1849 may be found (at the element area 1801) and where this element area 1801 and found element area 1849 spans across multiple areas 18162, 18163, 18170 and whereby each may have different pixel color properties. In this embodiment the enhanced search logic is defined such that for the search direction 1803, that the search in that direction stops after the first pixel color change at location 18168, and co-ordinates X_(nf6), Y_(nf6), (where “nf”=next found co-ordinates reference) and for search direction 1804, that the search in that direction stops at the third pixel color change at location 18167 X_(nf3), Y_(nf3), and for search direction 1806, that the search in that direction stops at the first pixel color change 18169, X_(nf7), Y_(nf7), and for search direction 1807, that the search in that direction stops at the second pixel color change at location X_(nf5), Y_(nf5). In search direction 1804 the first pixel color change is located at 18166 X_(nf1), Y_(nf1), the second at 18175 X_(nf2), Y_(nf2), and the third at 18167 X_(nf3), Y_(nf3). In search direction 1807 the first pixel color change is located at 18165 X_(nf4), Y_(nf4), and the second at 18174 X_(nf5), Y_(nf5).

In an embodiment an enhanced search logic is configured such that: the searching in direction 1804 will stop after reaching three pixel color changes, the search direction 1806 will stop after one pixel color change, the search direction 1807 will stop after two pixel color changes, and search direction 1803 will stop after one pixel color change.

In an embodiment the automatic and enhanced search logic configuration for element area 1801 commences by defining or selecting a pre-defined Search Logic to apply before the search start 1805. In this embodiment the overall enhanced search logic is configured such that each search direction 1803, 1804, 1806, 1807 may be individually configured such that the search stops in each direction after the specified number of changes in pixel color is reached. In FIG. 18H, the searching in the search direction 1807 may be configured to stop after reaching a second pixel color change. The search commences the search from 1805 and for direction 1807, and continues to location 18165 where it detects and records the first pixel color change, and then the search 1807 continues to location 18164 where the search records the second pixel color change and where the search then stops as it has completed its pre-defined search logic criteria of finding and stopping the search at the second pixel color change. The search in direction 1804 is also pre-configured in the enhanced search logic before starting such that the search will stop on finding the third change of pixel color values/properties. The search commences 1805 and progresses in direction 1804, and continues to location 18166 where it detects and records the first pixel color change, and then the search 1804 continues to location 18175 where the search records the second pixel color change, and where the search continues to the third pixel change 18167 and where the search then stops as it has completed its pre-defined criteria of finding and stopping the search at the third pixel color change. In some embodiments, the search direction 1803 may be pre-configured before starting such that the search may stop on finding the first change of pixel color values/properties. The search commences 1805 and progresses in direction 1803, and continues to location 18168 where it may detect and record a first pixel color change, and where the search then stops as it has completed its pre-defined criteria of finding and stopping the search at the first pixel color change. The search 1806 commences and progresses in direction 1803 and continues to location 18168 where it detects and records the first pixel color change; and where the search then stops as it has completed its pre-defined criteria of finding and stopping the search at the first pixel color change. Each search direction 1803, 1804, 1806, 1807 may be configured with its own search parameters to determine when the searching stops and based on the pixel color change.

FIG. 18I illustrates an exemplary embodiment of a fixed-layout component comprising the fixed-layout content background area, one or more digital graphics, visual items that may comprise one or more highlighted areas with different borders embedded as part of the one or more digital graphics, whereby the highlighted areas comprise at least one border coinciding with an edge of the fixed-layout component, according to an embodiment of the invention. According to the embodiment, fixed-layout content component item 102 that comprises element areas 18201, 18210 that may be comprised in/on fixed-layout content item 201, and that may form a basis for new automatically found element area items 1849, 18209 (for example, as defined in FIG. 2A: 202, 203,204, 205, 206, 207, 208).

FIG. 18I further illustrates an exemplary fixed-layout content item 208 that may be defined as a background area 208 relative to any element areas 18201, with borders 18202, 18203, 18204 and the border edge 18205 of being part of the edge of the overall background area 201 and for area 18210, and with borders 18206, 18208, 18209, 18207 for area 18210. The highlighted area 18201, 18210 may be in a foreground on a relative basis (in some embodiments this may be seen as a layer). Further according to the embodiment, fixed-layout component 102 may comprise fixed-layout content item area 208, any number of digital graphics (for example, to makeup the full or partial area 208), items such as text, pictures, shapes, and a plurality of illustrated element areas 18201, 18210 may be embedded as part of content item area 208. For element area 18202 the search may commence from start 1805 for at least a portion of the defined directions. The search direction 1807 may conclude when no pixel change has been recorded but where the edge of the background area 201 has been reached 18164 and this location is then recorded as the conclusion to this 1807 search direction. The search in at least a portion of the other directions 1803, 1804, 1806 may also concluded. The automatically found element area item 1849 comprising dimensional, positional, and display-layer data may then be each added as new element area items to fixed-layout package data stores 806 (referring to FIG. 8A).

For element area 18210 this is constructed with one border 18220 inside the fixed area component 208 and the border for the remaining three sides 18206 18207 18209 are the border edges of the fixed area component area 18210. The search commences from any position 18217 inside the area 18210 and for at least a portion of the defined directions. The search for boundaries 18215, 18216, 18219 each concludes when no pixel change has been recorded but where the edge of the background area 201 has been reached and the dimensions data are then recorded as the conclusion to the search directions. The search in at least a portion of the final direction 18218 may also concluded. The automatically found element area item 18210 comprising dimensional, positional, and display-layer data may then be each added as new element area items to fixed-layout package data stores 806 (referring to FIG. 8A).

FIG. 18J illustrates an exemplary embodiment of a fixed-layout component comprising the fixed-layout content background area, one or more digital graphics, visual items that may comprise one or more highlighted areas with different borders embedded as part of the one or more digital graphics, further comprising different derived area calculations whereby one or more border edges are shown, further comprising different settings for calculated derived areas, according to an embodiment of the invention. According to the embodiment, fixed-layout content item 208 that may be defined as a background area 208 relative to any element areas 1801, 1817, 1815, 1813, 1802, 1803, 1804, 1852, 1853, 1856, that may be in a foreground on a relative basis (in some embodiments this may be seen as a layer). Further according to the embodiment, fixed-layout component 102 may comprise fixed-layout content item area 208, any number of digital graphics (for example, to makeup the full or partial area 208), items such as text, pictures, shapes, and highlighted outline areas 1801 1817 1815, 1813, 1802, 1803, 1804, 1852, 1853, 1856, may be embedded as part of content item area 208.

An objective of the enhanced search logic, in a preferred embodiment, may be to automatically find one or more adjacent found element areas 1808, 1809, 1861 and which may have the same calculations applied to generate associated derived element areas 1858, 1859, 1860. The search logic may be defined to start in any location 1812, direction 1811, inside area 1802, and to specifically find a plurality (for example, three) adjacent areas, and at least a portion of which will then have the same derived calculation settings applied to create the derived areas 1858, 1859, 1860. The derived element area calculation settings may be defined before a selection of search start 1812.

Another overall objective, in another preferred embodiment for search configuration, may be to automatically find a certain specified number of adjacent found element areas 1850, 1855, 181857 (to the end of a list) that may have the same calculations applied to generate associated derived element areas 1851, 1854, 1862. The search logic is configured such that search may be defined to start 1863 in direction 1864 and conclude when at least a portion of remaining adjacent element areas are found 1850, 1855, 1857. The derived element areas 1851, 1854, 1862 may then be calculated. The derived element area settings defined before the search start 1863 may be different to the derived element area settings defined before the search start 1812.

An objective for searches 1811, 1864 may be to automatically identify a plurality of areas 1808, 1809, 1861, 1850, 1855, 1857 (that is, a plurality of automatically found and calculated and element areas) and to automatically calculate a plurality of derived element areas 1858, 1859, 1860, 1851, 1854, 1862, and in addition, the derived element areas may have different calculations applied such that areas 1858, 1859, 1860 may be different dimensionally and positionally compared to areas 1851, 1854, 1862, even though the source element areas 1802, 1803, 1804, 1852, 1855, 1856 may have similar dimensional layouts. The automatically found and automatically derived element area items comprising dimensional, positional, and display-layer data may then be added as new element area items to fixed-layout package data stores 806 (referring to FIG. 8A).

FIG. 18K illustrates an exemplary embodiment of a fixed-layout component 102 comprising the fixed-layout content background area 201, one or more digital graphics, visual items that may comprise one or more highlighted areas with different borders embedded as part of the one or more digital graphics, further comprising variable label items on the background area, (18101, 18104, 18106, 18107, 18122, 18125), and with linked variable data items displayed (18116, 18109) within the display properties of found or derived areas (18102, 18103, 18108, 18110, 18124, 18126) in a layer on (or in front of) the background area according to an embodiment of the invention. According to the embodiment, fixed-layout content item 208 that may be defined as a background area relative to any element areas 18101, 18106, 18122, that may be in a foreground area on a relative basis (in some embodiments this may be seen as a layer). Further according to the embodiment, fixed-layout component 102 may comprise fixed-layout content item area 208, any number of digital graphics (for example, to makeup the full or partial area 208), items such as text, pictures, shapes, and the highlighted outline areas 18101, 18106, 18112, 18125 may be embedded as part of content item area 208.

The element area 18101 may comprise the found and calculated element area 18102 and the derived element area 18103. The element area 18101, comprised on the background area 208 may comprise text or graphic, symbol or other data 18104 also comprised on the background area 208 and in general proximity (or not, and inside or outside) the element are 18101. The found and calculated element area 18102 or the derived element area 18103 may be displayed as a layer in front of the background layer 208 for display purposes, and which may comprise display text, graphics or data 18116 in an element area display layer and which may be displayed, viewed, and/or receive interaction.

The data 18116 displayed in either the found or derived element areas may have a logical association and/or visual association and/or positional association with data 18104 and which may be comprised in the background area 208. The data 18116 may be a data variable value, that, in some embodiments, may comprise a plurality of individual data variable values 18117, 18118, 18119, 18120, 18121, and which may be joined together with a dash “-” (or space(s) or other character(s) or symbol(s) or combination) to create one overall derived data variable value 18116 for example, for display purposes.

Data 18104 may be a data variable label (or derived data variable label) that, in some embodiments, comprises a plurality (for example, five) individual data variable labels 18111, 18112, 18113, 18114, 18115, and which may be joined together with a dash “-” (or space(s) or other character(s) or symbol(s) or combination) to create one overall data variable label 18104 for example, for display purposes. Each individual data label may be associated with an individual data value. Data variable value 18117 may be associated with data variable label 18111, data variable value 18118 may be associated with data variable label 18112, data variable value 18119 may be associated with data variable label 18113, data value 18120 may be associated with data variable label 18114, data variable value 18121 may be associated with data variable label 18115. A practical example for data variable label 18111 may be, for example, “Date” whereas its associated data variable value could be “1 Jan. 2020”.

The element area 18106 may comprise found element area 18108 and derived element area 18110. The element area 18106, comprised on the background area 208 may comprise text, graphics, symbols and/or other data 18107 also comprised on the background area 208 and in proximity (inside or outside) the element area 18106. Found element area 18108 or the derived element area 18110 may be displayed as a layer in front of the background layer 208 for example, for display purposes, and may comprise display text, graphics or data 18109 in this layer, that may be displayed and viewed.

The data 18109 displayed in the found or derived element areas may have a logical association with the data 18107 and which may be comprised in the background area 208. The data 18109 may be referred to as a data value, and which may comprise a plurality of (for example, four) individual values 18129, 18130, 18131, 18132, and which may be joined together with a dash “-” (or space(s) or other character(s) or symbol(s) or combination) to create one overall derived value 18109 for display purposes. The data 18107 may be referred to as an overall data label, and which may comprise a plurality of (for example, four) individual data labels 18125, 18126, 18126, 18128 and which may be joined together with a dash “-” to create one overall data label 18109, for example, for display purposes. Each individual data label may be associated with an individual data value. Data value 18129 may be associated with data label 18125, data value 18130 may be associated with data label 18126, data value 18131 may be associated with data label 18127, data value 18132 may be associated with data label 181128. A practical example for data label 18125 could be “Date” whereas its associated data value could be “1 Jan. 2020”.

In another embodiment, element area 18122 (comprised within background area 208) may comprise found element area 18124 whereby found element area 18124 may be displayed as a layer in front of background layer 208 for example, for display purposes, and which may comprise display text or graphics 18123. Referring also to element areas 701 & 702 (refer to FIG. 7) 1605 and 1609 (refer to FIG. 16A and to FIG. 16B), and element area interactivity data store 803 (referring to FIG. 8A).

The element area 18122 and data item 18123 may be comprised in the background area 208. The found and calculated element area 18124 may be displayed as a layer in front of the background area and where the found element area has display properties such that it may have some semitransparent color and or other visual effects applied such that the background data 18123 may be still visible. The element area may also support properties that enable it to respond to a user select action (voice command, touch command, or mouse command click).

The element area 18122 may also support a derived element area 18126. This derived element area 18126 may be displayed as a layer in front of the background area and where the found element area has display properties such that it may have some semitransparent color and or other visual effects applied such that the background data 18123 may be still visible.

In another embodiment element area 18122 many comprise the found and calculated element area 18124, and the derived element area 18126. The found element area 18124 and the derived element area 18126 may both be displayed as a layers in front of the background layer 208 for display purposes, and with either the found element area being in front of derived element area 18126, or the derived element area 18126 may be in front of found element area 18124. The found element area 18124 and derived element area 18126 may also both comprise display properties which enable the visual display of data 18123 (i.e. the data 18123 is not being comprised within the background area 208, but in the found 18124 element area visual display properties of either found area 18124 or the derived area 18126. A practical example for the found 1824 or derived area 18126 is to display START as a data variable value whereas its associated data variable label could be FUNCTION which can be an artifact contained in the overall background area 208.

The data values 18116, 18117, 18118, 18119, 18120, 18121, 18109, 18129, 18130, 18131, 18132, 18123 may be generated via user input or programmatically by other user interface modules 1302, 1308 (referring to FIG. 13), 1403 (referring to FIG. 14) and may be supported by the fixed content user data store 1313, referring to FIG. 13.

Data variable values 18116, 18117, 18118, 18119, 18120, 18121, 19109, 19129, 19130, 19131, 19132 may be generated by programmatic variables rules which may be associated with the fixed layout components 201, and where the variable rules output data values are then displayed as part of the specific found or derived element areas via a logical association data reference comprised in the fixed-layout component definition data and metadata 806 in general and specifically the association data 803 (referring to FIG. 8A). The data variables rules with a set/fixed value may be termed set variables (SV). The data variables rules with an association for a user element area interaction may be termed user requested variables (URV). User requested variables rules and set variables rules may then support the calculation of derived variables rules data (DV), and on the calculation of at least a portion of derived variables data, then derived-variable-labels data (DVL) may be generated from user (URV), set (SV) and derived (DV) variables data or other derived variable labels data (DVL).

Any individual variable value item 18116 . . . 18121, 18129 . . . 18132, (referring to FIG. 18K) may be a user requested variable data or a derived variable data, or a derived variable label data. The values may be assembled as an overall variable data 18116, that may be defined as VALUE-1-VALUE-2-VALUE-3-VALUE-4-VALUE5. In this embodiment there are a plurality of variables (for example, 5), which may result in a theoretical number of 120 different combinations or versions of derived variable label value, and so each of the 120 examples may be defined uniquely with its own variables rule. Any user variable, derived variable, or derived-label values may be a component of an overall value 18116, 18108.

FIG. 19A is a high-level flow diagram illustrating an exemplary process for an automatic finding and calculation of element item areas and associated data for data stores, according to an embodiment of the invention. According to the embodiment, an example of process flow steps for automatic finding and calculation of element item areas and at least a portion of associated data for data stores 806 (referring to FIG. 8A) is shown. Process 1900 starts at step 1901 to automatically find and calculate the fixed-layout element item areas and associated data and then to provide the data (and derived data) which may be required for dimensions and positional data store 802 and which may then be used in final fixed-layout package data store 806. An alternative may be for the user to manually calculate the necessary dimensional and positional data 806. The process may be started 1901 by the initialization 1902 of a search application (which may be either an online application or a native/installed application) and where the overall fixed-layout component item 208 may be loaded and displayed to a user. The user may then select if a single element item area must be identified or if multiple adjacent areas 1801, 1802, 1803, 1804, 1813, 1815, 1817 in step 1903 are to be identified. The user may then commence a single element area search by selecting an area-specific physical location, any point location 1805 inside the area 1801 via input received from a computer mouse pointer or finger touch control or other device input method. In area 1801, the search algorithm may then commence the search in many directions 1803, 1804, 1805, 1805 to determine calculations data necessary to support the new calculated area perimeter of 1807 (the dashed line figure). At least a portion of the data and calculated/derived data for the specific area 1807 may be saved to the dimensions and position data store 802. If a search for a single area was initiated initially, then the search process may be completed. If a search for multiple adjacent areas was initiated (referring embodiment areas 1802, 1803, 1804 or 1813, 1815, 1817), then step 1907 continues processing at step 1905 where the search algorithm may move automatically onto the next associated adjacent area (in this embodiment 1803 and 1804, or 1815, 1813 and 1804.) and identify at least a portion of the required data where the at least a portion may be saved in the dimensions and positional data store 802. For multiple adjacent area search, the user may then commence the search by selecting an area-specific physical location, any point location 1812 inside the area 1802 via input received from a computer mouse pointer or finger touch control or other device input method, and selecting the general search direction 1811 for the automatic search. The general search direction defines the general direction of a search (for adjacent cells), and may be in a specific direction from a start point; left, right 1822, up, down 1811, etc. A general search direction may also be set automatically so that at least a portion of possible directions (up 1824, down 1811, left 1823, right 1822) may checked automatically to identify at least a portion of the adjacent cells in each specific cell direction.

In area 1802, the search algorithm may then commence the search within that area firstly (in the same way as outlined for area 1801 above) to determine calculations for that first element area, and then for the algorithm to progress in the defined direction 1811 to define element areas 1803 and 1804 in this illustrated embodiment. The iterative process 1908 for multiple element areas will continue until at least a portion of adjacent areas are processed and the iterative process ends 1909 and at least a portion of the data may be processed and stored in the element area dimensions data store 802, which may be then processed further to create the final fixed-layout component definition data 806.

FIG. 19B is high-level flow diagram illustrating at a high level another exemplary process for an automatic finding and calculation of found and then derived element item areas using configurable using general and enhanced search logic and with associated data for data stores, according to an embodiment of the invention. According to the embodiment, an example of process flow steps for automatic finding and calculation of element item areas and at least a portion of associated data for data stores 806 (referring to FIG. 8A) is shown. Process 1900 starts at step 1901 to automatically find and calculate the fixed-layout element item areas and associated data and then to provide data (and derived data) that may be required for dimensions and positional data store 802 and that may be used in final fixed-layout package data store 806. In another embodiment, dimensional and positional data 806 information may be received form a user device. The process is started 1901 by the initialization, in step 1902, of a search application (which may be either an online application or a native/installed application) and where the overall fixed-layout component item 208 may be loaded and displayed to a user.

In a next step 1910, a number of general search logic settings may be received from a user device and relating to the found and calculated element areas.

In a next step 1911, a range of advanced configuration settings may be provided relating to enhanced search logic to enable search across one or many color changes and also to enable the creation of derived element areas and where the associated detailed settings may be received from a user device.

In a next step 1903, a selection may be received, from the user device, indicating if a single element item area must be identified or if multiple adjacent areas 1801, 18021, 18031, 18041, 1813, 1815, 1817 (referring to FIG. 18A) in step 1903 are to be identified. A single element area search may commence by receiving a selection, from the user device, of an area-specific physical location, any point location 1805 inside the area 1801 via input received from a computer input device.

In a next step 1905 at area 1801, the search algorithm may then commence the search in many directions 1803, 1804, 1806, 1807 to determine calculations data necessary to support a new calculated area perimeter of 1825 (the dashed line figure).

In a next step 1906, at least a portion of the data and calculated/derived data for the specific area 1825 may be saved to the dimensions and position data store 802, 803, 804, 805, 807, and 806 (referring to FIG. 8B).

If a search for a single area was previously initiated at step 1903 and verified at step 1907, then the search process may be completed at step 1909. If a search for multiple adjacent areas was initiated at step 1903 (referring to embodiment areas 18021, 18031, 18041 or 1813, 1815, 1817), then step 1907 may continue processing at step 1905 where the search algorithm may move automatically onto the next associated adjacent area (in this embodiment, areas 18031 and 18041, or 1815 and 1813, 1804, and so forth) and identify at least a portion of the required data where the at least portion may be saved in the dimensions and positional data store 802. For multiple adjacent area search, the user may then commence the search by selecting an area-specific physical location, any point location 1812 inside the area 1802 via input received from a computer mouse pointer or finger touch control or other device input method, and selecting the general search direction 1811 for the automatic search. The general search direction defines the general direction of a search (for adjacent cells) and may be in a specific direction from a start point; left, right 1822, up, down 1811, and so forth. A general search direction may also be set automatically so that at least a portion of the possible directions (up 1824, down 1811, left 1823, right 1822) may check automatically to identify at least a portion of the adjacent cells in each specific cell direction.

In area 18021, the search algorithm may then commence a search (similarly to area 1801 above) to determine calculations for the first element area, and progress in the defined direction 1811 to define element areas 18031 and 18041. The iterative process 1908 for multiple element areas may continue until at least a portion of adjacent areas are processed and the iterative process ends at step 1909 and at least a portion of the data may be processed and stored in the element area dimensions data store 802, which may be then processed further to create the final fixed-layout component definition data 806.

Fixed-Layout Component Creation

FIG. 24A is a block diagram illustrating an exemplary system architecture 2400 for creating the fixed-layout component packages, according to a preferred embodiment of the invention. According to the embodiment, creation of fixed-layout components may comprise: fixed-layout content export parameters designator 2403 may designate a quality (for example, a level of image pixilation, image grain, and the like), resolution (for example, a high or low number of pixels), and file size (for example, kilobyte (kB)/megabyte (MB), etc.) of a fixed-content component, prior to the actual creation of fixed-layout components. User devices 2401 a-n may receive, send, and set parameters associated to fixed-layout content via accessing export parameters designator 2403 via, for example, cloud network 2402 (or network 31), prior to export manager 2404 importing, processing, and exporting fixed-layout content items (for example, a selection of fixed-content filed resident on storage device HDD 52 imported from the file system, and processed by system 2400). Fixed-layout content export manager 2404 may import source files(s) in a plurality of source formats known in the art (e.g. PDF, Microsoft™ Word documents, and the like) that may comprise a plurality of pages, and then analyze and export each fixed-layout content item (e.g. a fixed-content layout graphic such as PNG, JPEG, and the like). Accordingly, the fixed-layout content export process may result in one or more associated items (e.g. PNG, JPEG, and the like) for each page of the plurality of pages of the original source file. Interaction requests from one or more user devices 2401 a-n may be received by export manager 2404 to: identify one or more input files (for example, a plurality of PDF files); to process and start an automatic process of importing the input files (i.e. “the PDFs”) and exporting the components (i.e. “the PNGs”). Content metadata manager 2405 may receive exported files from export manager 2404 and create associated additional metadata to the exported fixed-layout item.

Element finder 2406 may automatically find dimensions of a single shape area or a range of adjacent areas for areas embedded in the fixed-layout component item which has been exported via export manager 2404 (e.g. PNG, JPEG, etc.). Interaction requests may be received from one or more user devices 2401 a-n by export manager 2404 to, for example, select a two-dimensional (2D) area for where element finder 2406 may commence a search for one or more shape areas. Element metadata manager 2407 may receive one or more 2D x-y coordinates data from element finder 2406 and perform calculations on the data (for example, as described in FIG. 5A, FIG. 10, and FIG. 18A).

Element creator 2408 may allow a creation of areas/shapes that may be an overlay displayed on top of the fixed layout exported content component item. For example, as an additional layer of interactive components directly associated to the fixed-layout content with associated functions.

File loader 2409 may upload exported files from a storage device (such as HDD 52), for example, upon receiving a request and location from a user device 2401 a-n, and place them into system 2400 for further processing by client metadata module 2405. File viewer 2410 operates as a mechanism to view files, as is known in the art.

In some embodiments, at least system components 2403, 2404, 2404, 2405, 2406, 2407, 2408, 2409, 2410 may reside and execute completely on a user device 2401 a in one complete system.

FIG. 24B is another block diagram illustrating an exemplary system architecture 2400 for creating the fixed-layout component packages, according to a preferred embodiment of the invention. According to the embodiment, creation of fixed-layout components may comprise: fixed-layout content export parameters designator 2403 may designate a quality (for example, a level of image pixilation, image grain, and the like), resolution (for example, a high or low number of pixels), and file size (for example, kilobyte (kB)/megabyte (MB), etc.) of a fixed-content component, prior to the actual creation of fixed-layout components. User devices 2401 a-n may receive, send, and set parameters associated to fixed-layout content via accessing export parameters designator 2403 via, for example, cloud network 2402 (or network 31), prior to export manager 2404 importing, processing, and exporting fixed-layout content items (for example, a selection of fixed-content filed resident on storage device HDD 52 imported from the file system, and processed by system 2400). Fixed-layout content export manager 2404 may import source files(s) in a plurality of source formats known in the art (e.g. PDF, Microsoft™ Word documents, and the like) that may comprise a plurality of pages, and then analyze and export each fixed-layout content item (e.g. a fixed-content layout graphic such as PNG, JPEG, and the like). Accordingly, the fixed-layout content export process may result in one or more associated items (e.g. PNG, JPEG, and the like) for each page of the plurality of pages of the original source file. Interaction requests from one or more user devices 2401 a-n may be received by export manager 2404 to: identify one or more input files (for example, a plurality of PDF files); to process and start an automatic process of importing the input files (i.e. “the PDFs”) and exporting the components (i.e. “the PNGs”). Content metadata manager 2405 may receive exported files from export manager 2404 and create associated additional metadata to the exported fixed-layout item.

Element finder 2406 may automatically find dimensions of a single shape area or a range of adjacent areas for areas embedded in the fixed-layout component item which has been exported via export manager 2404 (e.g. PNG, JPEG, etc.). Interaction requests (for general search, advanced search and other parameters) may be received from one or more user devices 2401 a-n by export manager 2404 to, for example, select a two-dimensional (2D) area for where element finder 2406 may commence a search for one or more shape areas.

Element metadata manager 2407 may receive one or more 2D x-y coordinates data from element finder 2406 and perform calculations on the data (for example, as described in FIG. 5A, FIG. 10, FIG. 18A). These calculations can enable the creation of the found/calculated element area(s) as well as any requested derived element areas.

Element creator 2408 may allow creation of areas/shapes that may be an overlay displayed on top of the fixed layout exported content component item. For example, as an additional layer of interactive components directly associated to the fixed-layout content with associated functions. The element creator 2408 may allow the creation of found/calculated or derived element areas of both categories of element areas.

File loader 2409 may upload exported files from a storage device (such as HDD 52), for example, upon receiving a request and location from a user device 2401 a-n and place them into system 2400 for further processing by client metadata module 2405. File viewer 2410 operates as a mechanism to view files, as is known in the art.

A variables rules library data repository 2411 maybe provided which may allow the element creator 2408 to associate specific rules via metadata (referring from this library to specific found/calculated or derived element areas.

Element area variables rules configurator 2412 may receive requests from one or more user devices 2401 a-n to associate data variables rules with either found/calculated or device or both categories of element areas. User devices 2401 a-n may select any random location/position co-ordinate X_(r), Y_(r) which resides inside a found, calculated or derived element area (referring to FIG. 18H) depending on which area type the user device wishes to associate the specific area rule (s).

A variable rules library may be provided in the data store 2411. The variables rules configurator 2412 may then associate specific variables rules from the variable rules library with specific element areas (either found/calculated or derived or both) and wherein the associated metadata and the specific associated variables rules data can then be copied from the overall variable rules library 2411 and the data can then be copied into the specific metadata data store 807, and which is then combined with the other data stores 801,802,803,804 (referring to FIG. 8B) to then result in the creation of the coverall fixed-layout component definition data store 806 (referring to FIG. 8A).

In another embodiment, system component comprising 2403, 2404,2405, 2406, 2407, 2408, 2409, 2410, 2411, and 2412 may reside and execute on a singular user device 2401 a.

FIG. 25 is an exemplary process for creation of an exported fixed-layout content item, database, and files 801. According to an embodiment, a graphic file/image (e.g. PNG, JPEG, etc.) may be exported from a source file (for example, a PDF file). According to the embodiment, for n pages in the source file, the export may provide n number of graphic/files (e.g. PNG files) export files. In some embodiments, any number of graphic/files may be exported for a source file (e.g. from a single PDF) page such that the graphics may be re-assembled dynamically (or using tiling techniques) into one overall seamless graphic presented to a display of, for example, user device 2401 a, such that an end user may not be aware that the graphic presented may be a range of smaller files dynamically presented together to give a seamless and unified view of the original PDF page. Accordingly, a request to commence process 2501 may be received from, for example, user-device 2401 a.

Accordingly, in step 2503, a request from user-devices 2401 a-n may be received, at files viewer module 2410, to organize at least a portion of one or more fixed-layout content source files 2502 into a fixed-layout batch source content location 2504 and non-batch 2508 source content files. A batch of fixed-source content files may refer to a grouping of files in a location in a file management system such that the grouping of files may be loaded as a group or batch and where the grouping may be processed automatically, for example, one by one, until at least a portion of files in the batch are processed. Examples of batch content file types may include, but not limited to, Adobe™ PDF files, Microsoft™ Word DOCX (DOC and other variants) and image types, such as, PNG, JPEG, TIFF, and the like. Examples of non-batch content files may include, but not limited to, Adobe™ Photoshop™ (PSD), Adobe™ InDesign™ (IDD), CorelDraw™ (CDR), and the like.

In a next step 2505, export parameters designator 2403 may configure system 2400 to define required parameters on content export (for example, at least quality, resolution, color, and other parameters as described earlier). Export parameters designator 2403 may receive one or more requests from, for example, user devices 2401 a relating to parameters which needs to be set, such as, viewing quality (e.g. sharp or dull text on a graphic, which may be a function of pixel resolution and other parameters) of the fixed-layout component, which in turn may relate to dimensions and resolution (pixels size width by height) of the exported content component. The quality parameters may result in varying file sizes (kB, MB, etc.) of the files that are exported. Once step 2505 is complete, an automatic content export processing step 2506 may be initiated by, for example, a request from user device 2401 a. Accordingly, content export manager 2404 may receive a request from one or more user devices 2401 a-n to load one or more source file from the fixed-layout source content files 2504. Content export manager 2404 may then create a new file (typically for each page of the source input file; however, in some embodiments, there may be more than image, as discussed previously). In a next step 2506 additional metadata 801 may be created and associated to files created from the automatic content export processing. An example of metadata may be a syntax text file which may comprise a definition of how individual pages are grouped or referred to each other to re-create/represent the original source PDF file. Other metadata may also be added (for example, metadata associated to project details, project ID, or other descriptive information describing, linking, sequencing, or other aspects of images and pages). For example, if an original PDF had, for example, ten pages, an associated metadata file may define which exported files may make-up the original PDF pages and arrange them in a correct original sequence. In a next step 2507, content metadata processing may commence whereby content metadata manager 2405 may create and save any associated metadata files/data with the exported fixed-layout content files (e.g. images) to the fixed-layout exported content & metadata data store 805.

In some embodiments, for non-batch files 2508, other programs (e.g. Adobe™ Photoshop™, CorelDraw™, etc.) may be used to provide a supervised export at step 2509 via semi-automatic or manual content export processing of fixed-image layout content files to a desired quality. File loader 2409, on receipt of a request from user device 2401 a, may upload exported files stored on a storage device (for example, to HDD 52), for further processing by client metadata manager 2405, to, for example, generate additional metadata at step 2507 (as described above). Accordingly, fixed layout exported content and metadata 801 may be further updated.

FIG. 26A is an exemplary process 2600 for the creation of elements area items associated with the fixed layout exported content item. The process starts at step 2602 by presenting, on a display screen of a user device, a fixed-layout content file so that element items may be associated with the fixed-layout content item (for example, by receiving requests from user device 2401 a. The element finder 2406 may display to user device 2401 a, based on a request from user device 2401 a, a full content item (single file or dynamically re-assembled files). The element metadata manager 2407 may receive, from user device 2401 a, a range of configurations relating to how one or more new elements may be configured. In a next step, 2603, a plurality of parameters may be defined to determine how the one or more element items may be presented to a user interface of a display of, for example, user device 2401 a, and how interaction from user device 2401 a may behave with respect to the one or more element items. Further, various states associated to elements describing behavior of the element item, may be determined within an overall application system. Element area item configuration properties, that may be stored as metadata, of the one or more elements items, may be: (a) the type of area that is being searched for (e.g. a rectangle of any size); (b) defining one or more display color(s) of the element area for various states; (c) if the element area allows data entry (e.g. from a user device selecting within an element area of the one or more element areas), and type: select a format e.g. numeric, alphanumeric, or some other predefined data format; (d) the element area may have additional properties such as: mandatory or non-mandatory data-entry for an associated element area where data must be entered (or not), by, for example, a user device of user devices 2401 a-n for various states; (e) a pre-configured display of other items within an element area: such as a string of text, and other related parameters; (f) set display layer association; (g) associating a unique element area reference number; (h) linking element-areas logically such that if data may be entered in a specific element-area, the next logical associated element-area may be then allowed to accept data entry (or not); (i) any number of other behaviors determining function for a user interface or user device display.

The type of element-area being searched (e.g. a rectangle), may be used by the element finder 2406 to determine a number of and specific element-area internal search directions (for example, from the search point 1805) that element finder 2406 may use in the search area process. Examples of internal search directions for rectangles are illustrated in FIG. 18, 1803, 1804, 1805 1806 according to one embodiment of the invention. Areas of different shapes may require a different number of internal search directions to ensure that boundaries of an element area may be identified.

In a next step 2604, a select search start position process for finding the element area item begins. The element finder 2406 may receive an input, for example, from a user input device 49 or 50 (for example, a user pointing device, keyboard, touch screen device) associated to user devices 2401 a that initiates a search process to start. An x-y 2D coordinate position of a location associated to the location received from user interaction, for example, via input device 50, may be provided to the element finder 2406, and must be inside an associated border of the element area that may need to be identified, and which may be part of the fixed-layout content item.

In a next step 2505, a find element x-y coordinates begins in order to determine the element's x-y coordinates for each element definition point (for example, as described in FIG. 7: 706, 707, 708, 709) on the selected element area (e.g. in a square or a rectangle element area, there are four primary definition points, or corners, by which the area may be re-created). Element finder 2406 may receive, from user device 2401 a, coordinates for an x-y start value from which to commence the area search. The element finder 2406 may continue processing automatically until it has identified at least a portion of the x-y coordinate values for at least a portion of the primary definition points. referring again to FIG. 18, in an embodiment, outline area 1801 may be comprised in overall fixed-layout area 201, whereby a new element area to identify may be outline 1825, and whereby element finder 2406 may be prioritizing computations to firstly identify the x-y position of element definition points 706, 707, 708, 709.

In a next step, 2606, a calculation for element dimensions data may begin by calculating dimensions data from x-y coordinate data calculated in step 2605. The element creator 2408 may receive x-y coordinate values from element finder 2406 to calculate an additional set of data values that may include element area width and height and an actual position of the element area with respect to the overall fixed-layout content item. Referring again to FIG. 4, the embodiment may comprise a calculation for width 401 and height 402. Referring again to FIG. 5A, the embodiment may comprise reference point 509 in the element area with respect to fixed-layout area reference point 501. Accordingly, reference points 501 and 509 may then allow actual dimensions of an absolute x position 510, and y position 508 of the selected element area. With element area x position 510 and y position 508, and fixed-layout content item x position 514 (similarly, 301), and y position 515 (similarly, 302), and width 401, and height 402; accordingly, the dimensions may then be used to calculate derived values of fractions (or percentages when multiplied by 100). Accordingly, at least a portion of x direction dimensions may be divided by overall x dimension 301 (or 514) to result in a decimal fraction, similarly for x direction dimensions 302 (or 515) to arrive at a decimal fraction.

In a next step 2609, positional, dimensional, derived/fractional (including calculated values) data for items may be saved to element data store 805. Element creator 2408 may saves x-y coordinates, calculated and derived fraction data, and resultant data from the element area properties step 2603. The element creator 2408 may save associated data to the element to data store 805. On completion of step 2609, element finder 2406 may begin process 2600 at step 2604 for another selection of a search start position to find another single element area request. In some embodiments, for a different element type, processing may begin again at step 2603.

In some embodiments, if element finder 2604 receives a request, from, for example, user device 2401 a, to find a range of adjacent cells (that is, a plurality of adjacent areas of a fixed-layout content for which element areas are desired) in, for example, an external search direction 1811 (referring to FIG. 18A) and start position 1812. Element finder 2406 may begin at step 2608 to automatically find a next element area. Accordingly, steps 2605, 2606 and 2607 may be repeated until, for example, element finder 2406 may be unable find any additional adjacent element areas. Referring again to FIG. 18, according to the embodiment, if a find element area 1812, for example, as selected by user device 2401 a, with a goal to find element areas within find area 1808, element finder 2406 may then iterate automatically to find the next area 1809 and 1810 automatically, and from the outlined areas 1802, 1803, 1804 comprised in fixed-layout content item 201. Referring again to FIG. 18, search direction 1822 illustrates a different search direction, where a selection 1820 (for example, as selected by user device 2401 a) may initiate a search, by element finder 2406, to iteratively identify element area 1818, 1816, and 1814.

FIG. 26B is a flow diagram illustrating another exemplary process for layering additional objects, or object areas, over fixed-layout content items and associated data stores, configuring found, calculated and derived element areas, configuring specific advanced search logic, and associating derived variables and logic rules to the “areas” according to an embodiment of the invention. According to the embodiment, process 2600 illustrates a creation of elements area items associated with the fixed layout exported data store 806.

The process starts at step 2602 by presenting, on a display screen of a user device, a fixed-layout content file so that element items may be associated with the fixed-layout content item (for example, by receiving requests from user device 2401 a). The element finder 2406 may display to user device 2401 a, based on a request from user device 2401 a, a full content item (single file or dynamically re-assembled files).

In a next step 2603 the element metadata manager 2407 may receive, from user device 2401 a, a range of configurations relating to how one or more new elements may be configured, including for user display and interactivity properties. Further in step 2603, a plurality of parameters may be defined to determine how the one or more found element items may be presented to a user interface of a display of, for example, user device 2401 a, and how interaction from user device 2401 a may behave with respect to the one or more element items. Further, various states associated with the found elements areas describing general behavior, visual behavior or user behavior of the element item, may be determined within an overall application system. Element area item configuration properties (for both found/calculated or derived or both), that may be stored as meta data, for one or more elements items, may be: (a) the type of area that is being searched for (e.g. a rectangle of any size); (b) defining one or more display color(s) (external border, or internal area) of the element area for various states; (c) if the element area allows data entry (e.g. from a user device selecting within an element area of the one or more element areas), and type: select a format e.g. numeric, alphanumeric, or some other predefined data format; (d) the element area may display certain defined data value(s), (e) element area category (i.e. found/calculated or derived) may determine which of these elements will display data or allow a user interaction or both (f) the element area may have additional properties such as: mandatory or non-mandatory data-entry for an associated element area where data must be entered (or not), by, for example, a user device of user devices 2401 a-n for various states; (g) a pre-configured display of other items within an element area: such as a string of text, and other related parameters; (h) set display layer association; (i) associating a unique element area reference number; (j) linking element-areas logically such that if data is entered in a specific element-area, the next logical associated element-area is then allowed to accept data entry (or not); (k) any number of other behaviors determining function for a user interface or user device display.

The type of element-area being searched for (e.g. a rectangle), may be used by the element finder 2406 to determine a number of and specific element-area internal search directions (for example, from search point 1805) that element finder 2406 may use in the search area process. Examples of internal search directions for rectangles are illustrated in FIG. 18A, 1803, 1804, 1805 1806 according to one embodiment of the invention. Areas of different shapes may require a different number of internal search directions to ensure that boundaries of an element area may be identified.

In a next step 2613 the element metadata manager 2407 (referring to FIG. 24A) may receive, from user device 2401 a a number of specific configuration settings from an overall configuration library that will be used to determine how the derived element areas (if required) will be calculated/derived from the found and calculated element areas. In step 2613, a plurality of parameters may be defined (via request from user device 2401 a) to determine how the one or more derived element items 1861, 1863, 1865, 1867, 1869, 1871 1873, 1875, 1877, 1870 (referring to FIG. 18D) may be automatically calculated and also what user interactivity and display properties that may need to be configured for derived areas (via request from user device 2401 a).

In a next step 2614, the element metadata manager 2407 may receive, from user device 2401 a a range of configuration settings that may be used to configure either standard and/or advanced search logic properties for certain search directions, to allow the finding of element areas 1801 (referring to FIG. 18H) that may be spread across multiple background areas 18160, 18162, 18163, 18170 (referring to FIG. 18H), and advanced search logic may relate to finding areas which may have multiple background areas. The element metadata manager 2614 may also receive from user device 2401 a . . . n configuration settings relating to the creation of derived element areas 18317 (referring to FIG. 18B), 1832, and 1850 (referring to FIG. 18A).

In a next step 2604, a select search start position process for finding the element area item begins. The element finder 2406 may receive an input, for example, from a user input device 49 or 50 (for example, a user pointing device, keyboard, touch screen device) (referring to FIG. 23) associated to user devices 2401 a that initiates a search process to start. An x-y 2D coordinate position of a location associated to the location received from user interaction, for example, via input device 50 (referring FIG. 23) may be provided to the element finder 2406, and must be inside an associated border of the element area that may need to be identified, and which may be part of the fixed-layout content item.

In a next step 2605, a find element x-y coordinates begins in order to determine the element's x-y coordinates for each element definition point (for example, as described in FIG. 7: 706, 707, 708, 709) on the selected element area (e.g. in a square or a rectangle element area, there are four primary definition points, or corners, by which the area may be re-created). Element finder 2406 may receive, from user device 2401 a, coordinates for an x-y start value from which to commence the area search. The element finder 2406 may continue processing automatically until it has identified at least a portion of the x-y coordinate values for at least a portion of the primary definition points. Referring again to FIG. 18A, in an embodiment, outline area 1801 may be comprised in overall fixed-layout area 201, whereby a new element area to identify may be outline 1808, and whereby element finder 2406 may be prioritizing computations to firstly identify the x-y position of element definition points 706, 707, 708, and 709.

In a next step, 2606, a calculation for the automatically found element dimensions data may begin by calculating dimensions data from x-y coordinate data calculated in step 2605. The element creator 2408 may receive x-y coordinate values from element finder 2406 to calculate an additional set of data values that may include element area width and height and an actual position of the element area with respect to the overall fixed-layout content item. Referring again to FIG. 4, the embodiment may comprise a calculation for width 401 and height 402. Referring again to FIG. 5A, the embodiment may comprise reference point 509 in the element area with respect to fixed-layout area reference point 501. Accordingly, reference points 501 and 509 may then allow actual dimensions of an absolute x position 510, and y position 508 of the selected element area. With element area x position 510 and y position 508, and fixed-layout content item x position 514 (similarly, 301), and y position 515 (similarly, 302), and width 401, and height 402; accordingly, the dimensions may then be used to calculate derived values of fractions (or percentages when multiplied by 100). Accordingly, at least a portion of x direction dimensions may be divided by overall x dimension 301 (or 514) to result in a decimal fraction, similarly for x direction dimensions 302 (or 515) to arrive at a decimal fraction.

In a next step 2609, at least a portion of positional and dimensional, calculated (including for automatically found area calculated values) data for items may be saved to element at least a portion of data store 805. Element creator 2408 may save (to data store 805) at least a portion of x-y coordinates, calculated and derived (dimensional, position) data (for both found and/or derived element area), and resultant data from the element area properties step 2603 including at least a portion of the settings for derived area requirement and also the applied search logic. The element creator 2408 may save at least a portion of area (found and derived), associated metadata, and any other related associated data to the element to data store 805. On completion of step 2609, element finder 2406 may begin process 2600 at step 2604 for another selection of a search start position to find another single element area request.

In another embodiment, on completion of step 2609, element finder 2406 may begin process 2600 at step 2603 where a different element area type and other user or display properties may be selected via the user device 2401 a.

In another embodiment on completion of step 2609, element finder 2406 may begin process 2600 at step 2613 where different properties may be defined for derived element areas which may be calculated from found element areas, referring to FIG. 18C

In another embodiment on completion of step 2609, element finder 2406 may begin process 2600 at step 2614 where different properties may be defined for the search logic which enables the finding of found element areas which may be spread across multiple background areas, referring to FIG. 18H.

It should be noted that in other process flow embodiments that steps 2603, 2613, 2614 may have alternate sequence before commencement of step 2604. One embodiment could be step 2603, followed by step 2614, followed by step 2613, then commence step 2604. Another embodiment could be step 2602, then step 2614, then step 2613, then step 2603, then commence step 2604.

In another embodiment (referring to FIGS. 26A and 18H), if element finder 2604 receives a request from, for example, user device 2401 a, to find a specific number of element areas, (for example total quantity of 3); 1802, 1803, 1804 (referring to FIG. 18J), (at search start 1812) from a total range of 6 adjacent areas 1802, 1803, 1804, 1851, 1852, 1853, 1856 (referring to FIG. 18J), i.e., a plurality of adjacent areas of a fixed-layout content for which element areas are desired-in, for example, an external search direction 1811 (referring to FIG. 18J). Once each element area find is complete, the element finder 2406 may begin again at step 2608 to automatically find a next element area. Accordingly, steps 2605, 2606, 2612 and 2607 may be repeated until the specified number of element areas 1802, 1803, 1804 (referring to FIG. 18J) have been found 1808, 1809, 1861. Each of the automatically found 1802, 1803, 1804 element areas may then utilize the same percentage or pixel dimensions (values or %) to calculate the derived areas 1858, 1859 1860 (if required). The adjacent element areas search would utilize the same parameters for search logic properties 2614 via the request from the user device 2401 a. The adjacent element areas search would also utilize the same parameters for the creation of the derived areas 1858, 1859, 1860.

In some embodiments, if element finder 2604 receives a request, from, for example, user device 2401 a, to find a range of adjacent cells to the end of that list (that is, a plurality of adjacent areas of a fixed-layout content for which element areas are desired) in, for example, an external search direction 1864 (referring to FIG. 18J) and start position 1863. Element finder 2406 may begin at step 2604 to automatically find a next element area. Accordingly, steps 2605, 2606, 2612, 2608, 2609 may be repeated 2608 until, for example, element finder 2406 may be unable find any additional adjacent element areas. Referring again to FIG. 18J, according to the embodiment, if a find element area 1812, for example, as selected by user device 2401 a, with a goal to find element areas within find area 1808, element finder 2406 may then iterate automatically to find the next area 1809 and 1810 automatically, and from the outlined areas 1802, 1803, 1804 comprised in fixed-layout content item 201.

Referring again to FIG. 18J, search direction 1822 illustrates a different search direction, where a selection 1820 (for example, as selected by user device 2401 a) may initiate a search, by element finder 2406, to iteratively identify element area 1818, 1816, and 1814.

In next step 2612, a calculation for derived element area(s) may be completed (if required via input device 2401 a request at step 2613 previously). The derived element area settings referring to FIG. 18C will comprise the percentage or pixel dimension 1835, 1840, 1843, 1849 variations which are applied to the dimensions of the automatically found and calculated area in step 2606. The percentage or pixel dimensions adjustments may be positive or negative (referring to FIG. 18C; 1855 for negative, reduction and 1856 for positive, increase) for each search direction resulting in the new additional derived calculations for each search direction 1803, 1804, 1806, 1807 (referring to FIG. 18C) being calculated. The positive or negative adjustments for at least a portion of search directions may result in a large range of scenarios; refer to example embodiments 1861, 1863, 1865, 1869, 1871, 1873, 1875, 1877, 1879 referring to FIG. 18D. Referring again to FIG. 18C the target element areas 1830, 1801 may result in automatically found element areas, 1831, 1849 and which may then result in calculation 2612 of the new derived element areas 1832, 1850. Referring to FIG. 18D, the target element areas 1860, 1862, 1864, 1866, 1868, 1870, 1872, 1874, 1876, 1878 may have resulted in the generation of the derived element areas 1861, 1863, 1865, 1867, 1867, 1869, 1871, 1873, 1875, 1877, 1879. The element creator 2408 may save at least a portion of area derived, associated metadata, and any other related associated data to the element to data store 805.

In a next step 2615 (referring to FIG. 26A) and which could occur at any time after the step 2612 the element creator 2412 may receive a request(s) from a user device 2401 a to associate specific variables rules with a specific element area (found/calculated or derived), and where the data stores 807, 805, and 806 are updated. The user device 2401 a-n selects any random location (X_(r) Y_(r)) (r=random) 18180 (referring to FIG. 18H) inside a previously specified found, calculated or derived element area specific rule(s). The search process for the (X_(r) Y_(r)) 18180 random location will dynamically identify a new element area, described as the “temporary” element area, and all the associated dimensions. The variable rules configurator 2412 will verify that the random location (X_(r) Y_(r)) “temporary” element area presented is calculated and verified to be at or just inside or outside the boundary of the previously found, calculated or derived element. The verification process may support an exact match or a pre-defined percentage of dimensions tolerance positive or negative. If the random location (X_(r) Y_(r)) “temporary” element area is at or inside or outside the boundary (i.e. within a defined percentage tolerance) of the found, calculated or derived element, the variable rules configurator 2412 then receives a request from device 2401 a . . . n indicating specific rule(s) from the rules library 2411 to associate to the selected areas (found, calculated, derived), and the variables rules configurator 2412 then stores the resulting metadata in the data store 807 (referring to FIG. 8B). In another embodiment, the presented search location (X_(r) Y_(r)) 18180 may be directly compared to the data previously stored in the fixed-layout package data store 805 (referring FIG. 8B) to determine if the location (X_(r) Y_(r)) is at or inside the found or derived element area which is targeted for the association of variables rule(s).

In a next step 2610, the element creator 2408 updates the overall fixed layout content component data store 806 based on updates to any updates to any of the data stores 801, 805 or 2411.

FIG. 27A is an exemplary process 2700 for a search for x-y coordinates for an element area item. In a first step 2701, element finder 2406 may receive coordinates, from a user device, associated to an area inside an element area, element finder may store the x-y coordinates values as start position coordinates xS-yS. In a next step 2702, element finder 2406 may then detect an associated pixel color at the xS-yS location and store, in database 806, the color data as a start pixel color. In another embodiment the start pixel colour may also be stored in any category of device memory such as connected memory 43, or nonvolatile memory 44, or other memory types. In a next step 2703, element finder 2406 may set an internal search direction associated to the element area type which has been previously selected in step 2603. Examples of internal search direction are illustrated in FIG. 18A, referring to 1803, 1804, 1805 1860 from a starting position of 1805 according to one embodiment of the invention. It should be noted that areas of different shapes may require a different number of directions to ensure that boundaries of the element area are identified.

Referring again to FIG. 18A, examples of xS-yS are illustrated at 1805, 1812, 1820. Referring again to FIG. 27A, in a next step 2704, element finder 2406 may find coordinates for a next adjacent pixel and analyze a pixel color at adjacent pixel location. Accordingly, if a first internal search direction is a +x direction 1804, then the next pixel coordinates color search may be at x-y coordinates equal to x(S+1)−yS coordinate position. If the first internal search direction was in the −x direction, for example direction 1805, then the next pixel color check may be at coordinates x(S−1)−yS. Further at step 2704, element finder 2406 may calculate a next x(S+1)−yS coordinates for search direction 1804, element finder 2406 may then reads a current search pixel color at the x(S+1)−yS coordinates location. In a next step 2705, element finder 2406 may compare the current search pixel color to the reference start pixel color and if the two values are the same, then iteration step 2706 may be complete. Accordingly, element finder 2406 may be reset to continue at step 2704 to execute a next find next pixel coordinate. It should be noted that element finder 2406 may continue process iteration 2704, 2705, and 2704 until a current search pixel color is not the same as the start pixel color thereby concluding the specific search direction (referring to set internal search direction at step 2703). Referring again to FIG. 18A, a search direction and distance 1804 may be concluded, thereby defining an x co-ordinate value for a position for element definition positions 708 and 709. In some embodiments, if element finder 2406 sets the next search direction at step 2708 to be −x (referring to direction 1805), then an x coordinate value for element definition positions 706 and 707 may be next identified by element finder 2406. And following those two directions, element finder 2406 may set a next direction as +y (referring to direction 1803), then identifying a y coordinate value for position 706, 707, and may then set, by element finder 2406, a final search direction which may be −y direction (referring to direction 1806), then the −y coordinate value, for element definition positions 707 and 709, may be identified. In an iteration step 2707, element finder 2406 may process at least a portion of defined search directions until at least a portion of the internal search directions are fully completed. On completion of at least a portion of required directions, by element finder 2406, x-y values for element definition positions 706, 707, 708, 709 may be now identified for the element area, accordingly, element finder 2406 may calculate element area data points in process step 2606 to calculate element dimensions data (referring to FIG. 26A).

FIG. 27B is an exemplary process 2700 for a search for x-y coordinates for an element area item. In a first step 2701, element finder 2406 may receive coordinates, from a user device, associated to an area inside an element area, element finder may store the x-y coordinates values as start position 1805 coordinates (X_(s), Y_(s)). In a next step 2702, element finder 2406 may then detect an associated pixel color at the (X_(s), Y_(s)) location 1805 and store, in database 806, the color data as a start pixel color. In another embodiment the start pixel color may also be stored in any category of device memory such as connected memory 43, or nonvolatile memory 44, or other memory types. In a next step 2703, element finder 2406 may set an internal search direction associated to the element area type which has been previously selected in step 2603. Examples of internal search direction are illustrated in FIG. 18H, referring to 1803, 1804, 1806 1807 from a starting position of 1805 according to one embodiment of the invention. It should be noted that areas of different shapes may require a different number of directions to ensure that boundaries of the element area are identified.

In a next step 2704, element finder 2406 may find coordinates for a next adjacent pixel and analyze a pixel color at the adjacent pixel location. Accordingly, if a first internal search direction is a +x direction 1804, then the next pixel coordinates color search may be at x-y coordinates equal to x(S+1)−yS coordinate position. If the first internal search direction was in the −x direction, for example direction 1807, then the next pixel color check may be at coordinates x(S−1)−yS. Further in step 2704, element finder 2406 may calculate a next x(S+1)−yS coordinates for search direction 1804, element finder 2406 may then read a current search pixel color at the x(S+1)−yS coordinates location. In a next step 2705, element finder 2406 may compare the current search pixel color to the reference start pixel color and if the two values the same, the process step iteration 2706 will continue. Accordingly, element finder 2406 may be reset to continue at step 2704 to execute a next find next pixel coordinate. It should be noted that element finder 2406 may continue process iteration 2704, 2705, and 27066 until a current search pixel color is not the same as the start pixel color (or the edge of the fixed area has been reached; referring to FIG. 18I embodiments) thereby concluding the specific search for a specific direction.

Referring again to FIG. 18H if the element finder 2407 records a color change via step 2705, then the element area finder 2406 will progress to the next step 2709 to analyze the applied search logic.

Referring to FIG. 18H the advanced search logic pre-defined requirement is based on defining the number of color changes required for each search direction NCR_(d(1 . . . n)), and where “NCR” is the number of color change required, and for each search direction “d” and is set for any number of directions 1 to “n” before any search is initiated. The number of actual color changes recorded in any search direction NCR_(d(1 . . . n)), and where “NCA” is the number of actual color changes recorded over search time for any number of search directions 1 to “n”. The NCA for each search direction will be set to zero for at least a portion of search directions before a search is initiated. As each new pixel color change is recorded for any search in a specific direction, the value assigned to NCR_(d(1 . . . n)), will increment from zero (0) to one (1) to two (2) to “n” as the search continues. So for search direction 1804, the first pixel color change 18166 (X_(nf1), Y_(nf1)), will set NCR_(d=1804), =1, and for the next color pixel change 18175 (X_(nf2), Y_(nf2)) will set NCR_(d=1804), =2 and for the next pixel change 18167 (X_(nf3), Y_(nf3)) will set NCR_(d=1804), =3. So for search direction 1807, the first pixel color change 18165 (X_(nf4), Y_(nf4)), will set NCR_(d=1807), =1, and for the next color pixel change 18164 (at coordinates X_(nf5), Y_(nf5)), will set NCR_(d=1804), =2. The logic may be then applied to at least a portion of defined search directions 1804, 1806, 1807, 1803 for an element area 1801.

The element finder 2406 may commence the search in search direction 1804 (d=1804), which comprises three color changes from start location 1805 to the border of the required element area at 18167, and the color changes are; NCR_(d=1804), =1 for 18166 at coordinates (X_(nf1), Y_(nf1)), then NCR_(d=1804), =2 for 18175 (X_(nf2), Y_(nf2)) and NCR_(d=1804), =3 for 18176 (X_(nf3), Y_(nf3)). The element finder 2406 may commence the search in search direction 1807 (d=1807), which comprises two color changes from start location 1805 to the border of the required element area at 18164, and the color changes are; NCR_(d=1807), =1 for 1816 X_(nf4), Y_(nf4), then NCR_(d=1804), =2 for 18164 (X_(nf5), Y_(nf5)).

The element finder 2406 initiates 2708 the next search direction and with a specific direction being set at step 2703. The process steps 2704, 2705, 2709, 2710 will iterate until the search logic (NCA value=NCR value) for that specific direction is completed. In an iteration step 2707, element finder 2406 may process at least a portion of defined search directions until the at least portion of the internal search directions are fully completed.

The element finder 2406 then uses at least a portion of the X and Y co-ordinates (X_(nf3), Y_(nf3)), (X_(nf7), Y_(nf7)), (X_(nf4), Y_(nf4)), (X_(nf5), Y_(nf5)), (X_(nf6), Y_(nf6)) and then calculates at least a portion of the dimensions and derived calculations (referring to FIG. 26A) necessary for the found element area 1849, and with the element definition positions 706, 708, 709, 707.

FIG. 28 is a block diagram illustrating an exemplary system architecture 2800 for integrating fixed-layout components with external applications according to a preferred embodiment of the invention. According to the embodiment, programmatic user interface 2803 may be an application (for example, workflow and interaction management systems such as SAP™, Siebel™, Oracle″, Genesys™, Cisco Call Manager™, Amazon Connect™, Salesforce.com™, Sugar CRM™, other CRM systems, other custom build interaction, customer, and/or workflow management systems) that provides general application functionality and which may be displayed on a display screen of a user device 2801 a-n. Programmatic user interface 2803 may receive a request (for example, via an application programming interface, via a user interface, etc.) from a user device 2801 a-n to present and display an application to a user device display screen. Programmatic user interface module 2803 may any application which has been developed using standard programming techniques where an application developer writes application code which may be then compiled/completed and presents the application logic and display to an end user device. In some embodiments programmatic user interface 2803 may be part of a server-based system, for example a SaaS system, as is known in the art, and the like, whereby a graphical presentation to a user device 2801 a-n has been generated programmatically.

Programmatic user interface 2803 may include the functionality to issue a request from anywhere within its application, to fixed-layout UI (user interface) 2804. Fixed-layout UI 2804 may then issue a request to fixed-layout processor 2805 to retrieve a fixed-layout component data from the fixed-layout component definition data. On receipt of the fixed-layout component data, by the fixed-layout processor 2805, which in turn may present data to fixed-layout UI 2804, and which may present on user-devices 2801 a-n. The fixed-layout UI 2804 may then present the component to an associated device display such that the fixed-layout component may be resized dynamically to fit within the display area (referring to example FIG. 10A: 1001).

Referring again to FIG. 1A, an overall display screen area 101 may have a programmatic area 103 and one fixed-layout display component area 102, as illustrated. Referring again to FIG. 1B, an overall display screen area 105, programmatic application area 110, and fixed-layout display component areas 106, 107, 108, 109 is illustrated. In Referring again to FIG. 10A, programmatic area 103 may provide an area/window embedded into a main programmatic application view with specified programmed dimensions of width 1005 and height 1003, and with position 1004 and 1002 relative to the overall display area 101 boundary. Referring again to FIG. 10B, the fixed-layout content component definition configuration data 806 may be loaded into the fixed-layout area/window outline area 1001.

Fixed-layout UI 2804 may issue a request to fixed-layout processor 2805 to retrieve the fixed-layout component definition data 806 from the data store, and present to fixed-layout UI 2804 which may then processes and display definition data 806 on a display screen, of user device 2801 a-n, in area/window 1001. Fixed-layout UI 2804 may read and process at least a portion of definition data 806 for a specific fixed-layout component which may then enables the specific fixed-layout component to be reassembled from the component parts of; fixed-layout content item 201, element areas defined 202, 203, 204, 205, 206, 207, 208, calculated fractional dimensions of each element 401, 402, their position 508, 510 relative to the fixed-layout area, and user interactivity functionality definitions 802, 803, 806 (that is, part of 806).

Further, fixed-layout UI 2804 may issue a request to fixed-layout processor 2805 to retrieve a specific set of fixed-content user data 1313 depending on a requirement of the overall programmatic UI 2803. Fixed-layout component configuration data 806 may comprise unique metadata identifiers such that fixed-content user data 1313 may directly associated with each specific component in 806. In some embodiments, fixed-layout content component area, and at least a portion of the element areas, may have associated and unique metadata identifiers/references. References associated to elements, components (for example, component IDs, element IDs, and related other data defined in metadata) may then be used by fixed-layout processor 2805 to search for and retrieve specific fixed-content user data 1313 for element items comprised within the fixed-layout component definition 806, and which may be part of a specific component definition. Fixed-layout processor 2805 may transmit retrieved user data 1313 to the fixed-layout UI 2804 for presentation to a display area of, for example, user device 2801 a.

It should be noted that programmatic UI 2803 presentation on a user device 2801 a-n may vary significantly in terms of a form factor and orientation of the user device (referring to FIG. 11: 101, 1101, 1103, 1105). Area/window 1001 for each of these examples may have different dimensions and positional location within the associated device screen (referring to FIG. 11: 102, 1102, 1104, 1105, 1108). Fixed-layout UI 2804 may then display component definition 806, and associated user data 1313 inside the areas (referring to FIG. 11: 102, 1202, 1104, 1105, 1108) such that a re-assembly and presentation to the user device may be positionally and proportionally exact (as illustrated in FIG. 10B: 1001, FIG. 10C: 1009, FIG. 11: 1102, 1104, 1106, 1108).

The Variables Rules Processor 2807 will receive the user requested variables data from the user device 2401 a and process at least a portion of rules associated with the fixed layout component 102 so as to generate at least a portion of the values for the derived variables, and then at least a portion of the derived variable labels and submit at least a portion of the data to the fixed-layout processor 2805. The fixed-layout processor 2805 may then update the visual display properties of the element areas (found or derived) and to display at least a portion of the values in the relevant element areas.

FIG. 29 is a flow diagram illustrating an exemplary process for automatic execution of variables rules logic and which can be associated with found, calculated, or derived element areas, according to an embodiment of the invention and where the fixed layout component is displayed as a component of an overall display 102, 106, 107, 108, 109 (referring to FIG. 1A and FIG. 1B). Some of the variables rules metadata logic 807 (referring to FIG. 8B) may be associated with the fixed area displayed element areas.

According to the embodiment, on initialization of the overall programmatic user interface 103 (referring to FIG. 1A) and 110 (referring to FIG. 1B) and the embedded fixed-layout components 102, 106, 107, 108, 109 (Referring to FIG. 1A and FIG. 1B) a dynamic execution of at least a portion of the variables rules logic may be completed. This may result in some rules variables data values being generated/calculated or set and being displayed (referring to FIG. 18K) 18116, 18109. The variables rules data value 18116 may be associated with element area 18102 or 18103 and variable rules variable label 1804. The variables rules data value 18109 may be associated with element area 18108 or 18110 and variable rules variable label 18107;

The process starts at step (referring to FIG. 29) 2910 by loading a fixed layout component onto a display screen of a user device 2401 a, upon receiving a request from user device 2401 a. The fixed-layout processor 2805 may display for each element area it may have found or derived element areas in an initial display state. An embodiment of the initial display state for element areas, (referring again FIG. 18K) would be that the found 18102 or derived 18103 element area may display the relevant element area but with no overall value data 18116 comprised within, i.e., data 18116 would display in its initial state as blank as it is not yet calculated. Similarly found area 18108 or derived element area 18110 would display the relevant element area but with no overall value data 18109 comprised within; i.e. the data 18109 would display as blank in its initial state as it is not yet calculated.

Each fixed-layout component package 806 may comprise a set of associated variables logic rules 807 (referring to FIG. 8A) to determine how to automatically process and generate variables data, and where some variables rules (and associated data) can be directly associated with specific element areas (referring to FIG. 18K) 18116, 18109.

The data variables with an association for a user element area interaction may be termed user requested variables (URV). User requested variables (URV's) may then support the calculation of derived variables (DV's), and on the calculation of at least a portion of derived variables, then derived-variable-labels (DVL's) may be generated from user (URV) and derived (DV) variables or other derived variable labels (DVL) and/or set variables (SVs). Set variables can also support the calculation of all variable types.

On completion of loading of the overall fixed-layout component 2910, the next step 2902 will then load the associated variables rules meta data 807 via 806 (referring to FIG. 18J) into the variable's rules processor 2807 (referring to FIG. 28). The variables rules processor 2807 will then dynamically process all the variables rules meta data logic. Some variables rules may be associated with specific element areas (found/calculated or derived), and where the programmatic user interface may then present to the user device, those variables rules which may require a user interactivity via a user device 2401 a (e.g. variable rule type: user requested variable: URV). A set variable (SV) rule type can display e.g. the START data value 18123 (referring to FIG. 18A).

On completion of at least a portion of user inputs variables rules (e.g. user requested variables: URV) from user device 2401 a and combined with any relevant set variables, the variables rules processor 2807 will commence a process to automatically generate at least a portion of derived variable values: at step 2903 the rules meta data processor 2807 will process the first rule 2903 to generate the first derived value data item. The variables rules processor 2807 will then load and process at least a portion of derived variables rules at step 2905 and iterate 2904 through all of the associated variables rules until completed. On completion of steps 2903, 2905, 2904, the variables rules processor 2807 will then commence processing of the first derived variable label rule (utilizing the user variable data items and also other derived variables data items and set variables where applicable as inputs). The variables rules processor 2807 will iteratively process at least a portion of derived variable label rules 2908, 2907 until the at least portion of rules are processed. The variable rules processor 2807 may save at least a portion of the variables data (as outputs from the at least portion of rules processing) to the fixed-content user data store 1313 or the user app data store 1407. As a final step 2909 the fixed layout processor 2805 will then refresh the display areas (found or derived) for at least a portion of fixed-layout element areas and where the variable data values are then displayed by using the logical association element area interactivity association meta data 803. The fixed layout processor 2805 will utilize the element area interactivity association meta data 803 to link which user variable value, derived variable value, and derived variable label values to each specific element area (found or derived) for display purposes. An element area may display no data value, or a data value, and that data value might be from a user variable value data, or a derived variable value data, or a derived variable label value data.

Hardware Architecture

Generally, the techniques disclosed herein may be implemented on hardware or a combination of software and hardware. For example, they may be implemented in an operating system kernel, in a separate user process, in a library package bound into network applications, on a specially constructed machine, on an application-specific integrated circuit (ASIC), or on a network interface card.

Software/hardware hybrid implementations of at least some of the embodiments disclosed herein may be implemented on a programmable network-resident machine (which should be understood to include intermittently connected network-aware machines) selectively activated or reconfigured by a computer program stored in memory. Such network devices may have multiple network interfaces that may be configured or designed to utilize different types of network communication protocols. A general architecture for some of the machines may be described herein in order to illustrate one or more exemplary means by which a given unit of functionality may be implemented. According to specific embodiments, at least some of the features or functionalities of the various embodiments disclosed herein may be implemented on one or more general-purpose computers associated with one or more networks, such as for example an end-user computer system, a client computer, a network server or other server system, a mobile computing device (e.g., tablet computing device, mobile phone, smartphone, laptop, or other appropriate computing device), a consumer electronic device, a music player, or any other suitable electronic device, router, switch, or other suitable device, or any combination thereof. In at least some embodiments, at least some of the features or functionalities of the various embodiments disclosed herein may be implemented in one or more virtualized computing environments (e.g., network computing clouds, virtual machines hosted on one or more physical computing machines, or other appropriate virtual environments).

FIG. 17A illustrates an example of a conventional system bus computing architecture system 1700, and where the components are in electrical communication with each other using a bus 1707. The exemplary system 1700 includes a processor unit 1708 and the system bus 1707 that connects the various items: memory 1701, RAM 1702, ROM 1703 to the processor 1708. The system processor 1708 may be supported by cache 1709 performant memory or be integrated as part of the processor 1708. The system 1700 may copy data from the memory 1701 and/or the storage device 1710 to the cache 1709 for rapid access by the processor 1708. Cache may provide performance, rather than having the processor 1708 waiting for data. These and other modules may control or be configured to control the processor 1708 to perform certain actions, and which may require the use of memory 1701. The memory may consist of many different types and performance characteristics. The processor 1708 may include a general-purpose component, or hardware or software modules, such as modules 1711, 1712, stored in the storage device 1710, and configured to control the processor 1708 as well as any special purpose processor where software instructions are incorporated into the actual processor design. The processor 1708 may be a self-contained computing comprising multiple processors or cores, bus, memory controller, and cache etc. The user interaction 1704 with the device may be any number of mechanisms, such as keyboard, mouse, a touch-sensitive screen for gesture or graphical input or other. The output-device 1705 may be display screen. The communications interface 1706 may typically govern and manage the user input and system output. There is no restriction on operating on any particular hardware arrangement and therefore the basic features here may easily be substituted for improved hardware or firmware as they are developed. The storage device 1710 is non-volatile memory may be a hard disk or other types of nontransitory computer readable media which may store data that is accessible by a computing device, such as solid-state memory device, flash memory, read only memory 1703 ROM.

FIG. 17B illustrates an example computer system 1715 which has a chipset architecture that could be used to execute the described system and methods and managing the graphical user interfaces on the devices. Computer system 1715 is an example of computer hardware, software and firmware that may be used to implement the disclosed technology. The system 1715 may include a processor 1717 representing any number of physically and/or logically distinct resources capable of executing software, firmware and hardware configured to perform identified logic computations. The processor 1717 may communicate with a chipset 1716 which in turn may control inputs to/from the processor 1717, outputs to the output device 1721 and may read/write information to the storage device 1719 which may include any number of media types including for example solid state media. Chipset 1717 may also read/write to the RAM 1718 module. A chipset processor 1717 may output information to outputs 1721 such as a device display and may read/write information to a storage device 1719, which may include may media types, including solid state media. Chipset 1717 may also read/write data to RAM 1718. Chipset may interface directly or indirectly with the output device 1721, and which could include a keyboard, a pointing device such as a mouse, or a touch-sensitive screen for gesture or graphical input. Inputs to the system 1715 may come from a variety of sources, human interface devices and/or machine generated. Chipset 1717 may interface with one or more communications interfaces 1720 that may have different physical interfaces. Such communications interfaces may include interface for wired and wireless local or wide area networks. Some applications of the methods for generating, displaying, and using a GUI (graphical user interface) disclosed herein may include receiving ordered information data over the physical interface or be generated by the processor 1717 by analyzing data in the data storage 1719.

It may be appreciated that exemplary systems 1700, 1715 may have more than one processor or be part of a group or cluster of computing devices networked together to provide greater computing capability. For clarity of explanation in some instances the present technology may be presented as including individual functional blocks comprising devices, device components, steps or routines in a method embodies in software, or combinations of hardware and software.

Methods according to the above described examples may be implemented using computer-executable instructions that are stored or otherwise available from computer readable media. Such instructions may comprise for example, instructions and data which cause or otherwise configure a general-purpose computer, special purpose computer or special purpose processing device to perform a certain function or group of functions. Portions of computer resource used may be available over a communications network. The computer executable instructions may be, for example binaries, other intermediate format instructions such as assembly language, firmware or source code. Examples of computer-readable media that may be used to store instructions, information used, and/or information created during methods according to described examples include flash memory, USB devices comprising non-volatile memory, networked storage devices etc.

Devices implementing methods according to those disclosures may comprise hardware, firmware, and/or software may take a variety of form factors. Form factor examples may include laptops, smart phones, personal digital assistants, small factor personal computers etc. Functionality described herein may also be embodied in peripherals. Such functionality may also be implemented on a circuit board among different chips or different processes executing in a single device etc.

A variety of examples and other information was used to explain aspects within the scope of the disclosed methods, no limitations should be implied based on particular features or arrangements in such examples, as one of ordinary skill would be able to use these examples to derive a wide variety for implementations.

Referring now to FIG. 20, there is shown a block diagram depicting an exemplary computing device 10 suitable for implementing at least a portion of the features or functionalities disclosed herein. Computing device 10 may be, for example, any one of the computing machines listed in the previous paragraph, or indeed any other electronic device capable of executing software- or hardware-based instructions according to one or more programs stored in memory. Computing device 10 may be configured to communicate with a plurality of other computing devices, such as clients or servers, over communications networks such as a wide area network a metropolitan area network, a local area network, a wireless network, the Internet, or any other network, using known protocols for such communication, whether wireless or wired.

In one aspect, computing device 10 includes one or more central processing units (CPU) 12, one or more interfaces 15, and one or more busses 14 (such as a peripheral component interconnect (PCI) bus). When acting under the control of appropriate software or firmware, CPU 12 may be responsible for implementing specific functions associated with the functions of a specifically configured computing device or machine. For example, in at least one aspect, a computing device 10 may be configured or designed to function as a server system utilizing CPU 12, local memory 11 and/or remote memory 16, and interface(s) 15. In at least one aspect, CPU 12 may be caused to perform one or more of the different types of functions and/or operations under the control of software modules or components, which for example, may include an operating system and any appropriate applications software, drivers, and the like.

CPU 12 may include one or more processors 13 such as, for example, a processor from one of the Intel, ARM, Qualcomm, and AMD families of microprocessors. In some aspects, processors 13 may include specially designed hardware such as application-specific integrated circuits (ASICs), electrically erasable programmable read-only memories (EEPROMs), field-programmable gate arrays (FPGAs), and so forth, for controlling operations of computing device 10. In a particular aspect, a local memory 11 (such as non-volatile random-access memory (RAM) and/or read-only memory (ROM), including for example one or more levels of cached memory) may also form part of CPU 12. However, there are many ways in which memory may be coupled to system 10. Memory 11 may be used for a variety of purposes such as, for example, caching and/or storing data, programming instructions, and the like. It should be further appreciated that CPU 12 may be one of a variety of system-on-a-chip (SOC) type hardware that may include additional hardware such as memory or graphics processing chips, such as a QUALCOMM SNAPDRAGON™ or SAMSUNG EXYNOS™ CPU as are becoming increasingly common in the art, such as for use in mobile devices or integrated devices.

As used herein, the term processor is not limited merely to those integrated circuits referred to in the art as a processor, a mobile processor, or a microprocessor, but broadly refers to a microcontroller, a microcomputer, a programmable logic controller, an application-specific integrated circuit, and any other programmable circuit.

In one aspect, interfaces 15 are provided as network interface cards (NICs). Generally, NICs control the sending and receiving of data packets over a computer network; other types of interfaces 15 may for example support other peripherals used with computing device 10. Among the interfaces that may be provided are Ethernet interfaces, frame relay interfaces, cable interfaces, DSL interfaces, token ring interfaces, graphics interfaces, and the like. In addition, various types of interfaces may be provided such as, for example, universal serial bus (USB), Serial, Ethernet, FIREWIRE™, THUNDERBOLT′, PCI, parallel, radio frequency (RF), BLUETOOTH™, near-field communications (e.g., using near-field magnetics), 802.11 (Wi-Fi), frame relay, TCP/IP, ISDN, fast Ethernet interfaces, Gigabit Ethernet interfaces, Serial ATA (SATA) or external SATA (ESATA) interfaces, high-definition multimedia interface (HDMI), digital visual interface (DVI), analog or digital audio interfaces, asynchronous transfer mode (ATM) interfaces, high-speed serial interface (HSSI) interfaces, Point of Sale (POS) interfaces, fiber data distributed interfaces (FDDIs), and the like. Generally, such interfaces 15 may include physical ports appropriate for communication with appropriate media. In some cases, they may also include an independent processor (such as a dedicated audio or video processor, as is common in the art for high-fidelity A/V hardware interfaces) and, in some instances, volatile and/or non-volatile memory (e.g., RAM).

Although the system shown in FIG. 20 illustrates one specific architecture for a computing device 10 for implementing one or more of the aspects described herein, it is by no means the only device architecture on which at least a portion of the features and techniques described herein may be implemented. For example, architectures having one or any number of processors 13 may be used, and such processors 13 may be present in a single device or distributed among any number of devices. In one aspect, a single processor 13 may handle communications as well as routing computations, while in other aspects a separate dedicated communications processor may be provided. In various aspects, different types of features or functionalities may be implemented in a system according to the aspect that includes a client device (such as a tablet device or smartphone running client software) and server systems (such as a server system described in more detail below).

Regardless of network device configuration, the system of an aspect may employ one or more memories or memory modules (such as, for example, remote memory block 16 and local memory 11) configured to store data, program instructions for the general-purpose network operations, or other information relating to the functionality of the aspects described herein (or any combinations of the above). Program instructions may control execution of or comprise an operating system and/or one or more applications, for example. Memory 16 or memories 11, 16 may also be configured to store data structures, configuration data, encryption data, historical system operations information, or any other specific or generic non-program information described herein.

Because such information and program instructions may be employed to implement one or more systems or methods described herein, at least some network device aspects may include nontransitory machine-readable storage media, which, for example, may be configured or designed to store program instructions, state information, and the like for performing various operations described herein. Examples of such nontransitory machine-readable storage media include, but are not limited to, magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROM disks; magneto-optical media such as optical disks, and hardware devices that are specially configured to store and perform program instructions, such as read-only memory devices (ROM), flash memory (as is common in mobile devices and integrated systems), solid state drives (SSD) and hybrid SSD storage drives that may combine physical components of solid state and hard disk drives in a single hardware device (as are becoming increasingly common in the art with regard to personal computers), memristor memory, random access memory (RAM), and the like. It should be appreciated that such storage means may be integral and non-removable (such as RAM hardware modules that may be soldered onto a motherboard or otherwise integrated into an electronic device), or they may be removable such as swappable flash memory modules (such as thumb drives or other removable media designed for rapidly exchanging physical storage devices), hot-swappable hard disk drives or solid state drives, removable optical storage discs, or other such removable media, and that such integral and removable storage media may be utilized interchangeably. Examples of program instructions include both object code, such as may be produced by a compiler, machine code, such as may be produced by an assembler or a linker, byte code, such as may be generated by for example a JAVA™ compiler and may be executed using a Java virtual machine or equivalent, or files comprising higher level code that may be executed by the computer using an interpreter (for example, scripts written in Python, Perl, Ruby, Groovy, or any other scripting language).

In some embodiments, systems may be implemented on a standalone computing system. Referring now to FIG. 21, there is shown a block diagram depicting a typical exemplary architecture of one or more aspects or components thereof on a standalone computing system. Computing device 20 includes processors 21 that may run software that carry out one or more functions or applications of aspects, such as for example a client application 24. Processors 21 may carry out computing instructions under control of an operating system 22 such as, for example, a version of MICROSOFT WINDOWS™ operating system, APPLE macOS™ or iOS™ operating systems, some variety of the Linux operating system, ANDROID™ operating system, or the like. In many cases, one or more shared services 23 may be operable in system 20 and may be useful for providing common services to client applications 24. Services 23 may for example be WINDOWS™ services, user-space common services in a Linux environment, or any other type of common service architecture used with operating system 21. Input devices 28 may be of any type suitable for receiving user input, including for example a keyboard, touchscreen, microphone (for example, for voice input), mouse, touchpad, trackball, or any combination thereof. Output devices 27 may be of any type suitable for providing output to one or more users, whether remote or local to system 20, and may include for example one or more screens for visual output, speakers, printers, or any combination thereof. Memory 25 may be random-access memory having any structure and architecture known in the art, for use by processors 21, for example to run software. Storage devices 26 may be any magnetic, optical, mechanical, memristor, or electrical storage device for storage of data in digital form (such as those described above, referring to FIG. 20). Examples of storage devices 26 include flash memory, magnetic hard drive, CD-ROM, and/or the like.

In some embodiments, systems may be implemented on a distributed computing network, such as one having any number of clients and/or servers. Referring now to FIG. 22, there is shown a block diagram depicting an exemplary architecture 30 for implementing at least a portion of a system according to one aspect on a distributed computing network. According to the aspect, any number of clients 33 may be provided. Each client 33 may run software for implementing client-side portions of a system; clients may comprise a system 20 such as that illustrated in FIG. 21. In addition, any number of servers 32 may be provided for handling requests received from one or more clients 33. Clients 33 and servers 32 may communicate with one another via one or more electronic networks 31, which may be in various aspects any of the Internet, a wide area network, a mobile telephony network (such as CDMA or GSM cellular networks), a wireless network (such as Wi-Fi, WiMAX, LTE, and so forth), or a local area network (or indeed any network topology known in the art; the aspect does not prefer any one network topology over any other). Networks 31 may be implemented using any known network protocols, including for example wired and/or wireless protocols.

In addition, in some embodiments, servers 32 may call external services 37 when needed to obtain additional information, or to refer to additional data concerning a particular call. Communications with external services 37 may take place, for example, via one or more networks 31. In various aspects, external services 37 may comprise web-enabled services or functionality related to or installed on the hardware device itself. For example, in one aspect where client applications 24 are implemented on a smartphone or other electronic device, client applications 24 may obtain information stored in a server system 32 in the cloud or on an external service 37 deployed on one or more of a particular enterprise's or user's premises.

In some embodiments, clients 33 or servers 32 (or both) may make use of one or more specialized services or appliances that may be deployed locally or remotely across one or more networks 31. For example, one or more databases 34 may be used or referred to by one or more aspects. It should be understood by one having ordinary skill in the art that databases 34 may be arranged in a wide variety of architectures and using a wide variety of data access and manipulation means. For example, in various aspects one or more databases 34 may comprise a relational database system using a structured query language (SQL), while others may comprise an alternative data storage technology such as those referred to in the art as NoSQL (for example, HADOOP CASSANDRA™, GOOGLE BIGTABLE™, and so forth). In some embodiments, variant database architectures such as column-oriented databases, in-memory databases, clustered databases, distributed databases, or even flat file data repositories may be used according to the aspect. It will be appreciated by one having ordinary skill in the art that any combination of known or future database technologies may be used as appropriate, unless a specific database technology or a specific arrangement of components is specified for a particular aspect described herein. Moreover, it should be appreciated that the term database as used herein may refer to a physical database machine, a cluster of machines acting as a single database system, or a logical database within an overall database management system. Unless a specific meaning is specified for a given use of the term database, it should be construed to mean as a plain meaning of the term database by those having ordinary skill in the art.

Similarly, some aspects may make use of one or more security systems 36 and configuration systems 35. Security and configuration management are common information technology (IT) and web functions, and some amount of each are generally associated with any IT or web systems. It should be understood by one having ordinary skill in the art that any configuration or security subsystems known in the art now or in the future may be used in conjunction with aspects without limitation, unless a specific security 36 or configuration system 35 or approach is specifically required by the description of any specific aspect.

FIG. 23 shows an exemplary overview of a computer system 40 as may be used in any of the various locations throughout the system. It is exemplary of any computer that may execute code to process data. Various modifications and changes may be made to computer system 40 without departing from the broader scope of the system and method disclosed herein. Central processor unit (CPU) 41 is connected to bus 42, to which bus is also connected memory 43, nonvolatile memory 44, display 47, input/output (I/O) unit 48, and network interface card (NIC) 53. I/O unit 48 may, typically, be connected to keyboard 49, pointing device 50, hard disk 52, and real-time clock 51. NIC 53 connects to network 54, which may be the Internet or a local network, which local network may or may not have connections to the Internet. Also shown as part of system 40 is power supply unit 45 connected, in this example, to a main alternating current (AC) supply 46. Not shown are batteries that could be present, and many other devices and modifications that are well known but are not applicable to the specific novel functions of the current system and method disclosed herein. It should be appreciated that at least a portion of components illustrated may be combined, such as in various integrated applications, for example Qualcomm or Samsung system-on-a-chip (SOC) devices, or whenever it may be appropriate to combine multiple capabilities or functions into a single hardware device (for instance, in mobile devices such as smartphones, video game consoles, in-vehicle computer systems such as navigation or multimedia systems in automobiles, or other integrated hardware devices).

In various aspects, functionality for implementing systems or methods of various aspects may be distributed among any number of client and/or server components. For example, various software modules may be implemented for performing various functions in connection with the system of any particular aspect, and such modules may be variously implemented to run on server and/or client components.

The skilled person will be aware of a range of possible modifications of the various embodiments described above. Accordingly, the present invention is defined by the claims and their equivalents. 

What is claimed is:
 1. A system for intelligent layering of interactive programmatic derived elements for fixed content, the system comprising: an intelligent layering computer comprising at least a processor, a memory, and a plurality of programming instructions stored in the memory and operating on the processor, the programming instructions, when executed by the processor, cause the processor to: receive a plurality of configuration search logic for a plurality of found element areas; receive a search start position from the first user device, the search start position identifying a position with respect to a found element area; determine, based on the plurality of configuration search logic, element-area internal search directions from the search start position with respect to the found element area; calculate the found element area using the element-area internal search directions; receive, from the first user device, data variable rules associated with the found element area; calculate a derived element area with respect to the found element area based on the data variable rules, wherein the derived element area comprises a percentage, or proportion, of the found element area; and create a fixed-layout package comprising the plurality of found element areas, and the plurality of derived element areas as one or more layers.
 2. The system of claim 1, wherein prior to creating the fixed-layout package, plurality of programming instructions when executed by the processor further cause the processor to position the derived element area relative to the found element area.
 3. The system of claim 1, wherein the plurality of programming instructions when executed by the processor further cause the processor to calculate a plurality of derived element positions of the derived element area based on a plurality of incremental positions.
 4. The system of claim 1, wherein the plurality of programming instructions when executed by the processor further cause the processor to apply one or more adjustments to each found element area of the plurality of found element areas.
 5. The system of claim 4, wherein for each found element area of the plurality of found element areas, the one or more adjustments are based on a width or a height, dimensions, relative position, or a combination thereof, of the found element area.
 6. The system of claim 3, wherein the plurality of programming instructions when executed by the processor further cause the processor to: store a set of coordinates identifying the search start position; detect an associated pixel color at a first location coordinate; compare the associated pixel color at the first location coordinate with pixel color detected at a first incremental position of the plurality of incremental positions; and calculate a derived element position of the plurality of derived element positions based on the comparison.
 7. The system of claim 1, wherein the plurality of programming instructions when executed by the processor further cause the processor to define a plurality of parameters, each determining presentation of the plurality of derived element areas on a user interface of a display of the user device and behavior of an interaction of the user device with the plurality of derived element areas.
 8. A method for intelligent layering of interactive programmatic derived elements for fixed content, the method comprising: receiving, from a first user device, a plurality of configuration search logic for a plurality of found element areas; receiving, from the first user device, a search start position, the search start position identifying a position with respect to a found element area; determining, by an element finder, based on the plurality of configuration search logic, element-area internal search directions from the search start position with respect to the found element area; calculating, at the element finder, the found element area using the element-area internal search directions; calculating, at the element finder, a derived element area with respect to the found element area based on one or more data variable rules, wherein the derived element area comprises a percentage, or proportion, of the found element area; and creating, at an export manager, a fixed-layout package comprising the plurality found element areas, and the plurality of derived element areas as one or more layers.
 9. The method of claim 8, wherein prior to creating the fixed-layout package, positioning the derived element area relative to the found element area.
 10. The method of claim 8, further comprising calculating a plurality of derived element positions based on a plurality of incremental positions of the derived element area.
 11. The method of claim 8, further comprising applying, by the element finder, one or more adjustments to a found element area of the plurality of found element areas.
 12. The method of claim 11, wherein for each found element area of the plurality of found element areas, the one or more adjustments are based on a width or a height, dimensions, relative position, or a combination thereof, of the found element area.
 13. The method of claim 10, further comprising: storing, by the element finder, coordinates identifying the search start position; detecting, by the element finder, an associated pixel color at a first location coordinate; comparing, by the element finder, the associated pixel color at the first location coordinate with pixel color detected at a first incremental position of the plurality of incremental positions; and calculating, by the element finder, a derived element position of the plurality of derived element positions based on the comparison.
 14. The method of claim 8, further comprising defining, by the element finder, a plurality of parameters, each determining presentation of the plurality of derived element areas on a user interface of a display of the user device and behavior of an interaction of the user device with the plurality of derived element areas. 